这是我在这里发布的第二篇文章,所以如果我遗漏了一些内容,我会道歉!我在wordpress编码方面也很弱,但我正在学习!
我正在使用投资组合模板来组织教育内容的页面。每个页面有5个帖子,每个工作日一个(周一至周五)。我会让不同的小组每周访问不同的页面,但大多数页面都是“旧的”。因此,现在访问它们时,您会立即看到所有5天。
我希望他们只看到前一天和当前的帖子。因此,周一访问时,即使周一至周五发布,您也只会看到周一的帖子。周三去看星期三。
所有页面都相同,只会有5个帖子。这种方法没有太大的灵活性,但没关系。我可能会包含一个元复选框来“启用/禁用”此功能,但不需要那么多。
这是指向当前template-portfolio.php的链接:https://gist.github.com/4671326
这是我试图修改的那个:https://gist.github.com/4661867
以下是相关的代码:
$days = array(
'monday' => 1,
'tuesday' => 2,
'wednesday' => 3,
'thursday' => 4,
'friday' => 5,
);
$args = array(
'post_type' => 'portfolio',
'orderby' => 'menu_order',
'order' => 'ASC',
'meta_value' => esc_attr( get_post_meta( $post->ID, 'portsort', true ) ),
'posts_per_page' => $days[date( 'l', current_time('timestamp') )],
);
我的补充不起作用。这是我试图放在那里的逻辑:
根据日期显示#number#个帖子。因此,如果日期返回星期四,那么只显示4个帖子。
对我而言,这似乎很容易......但由于某种原因它无法正常工作。
所以...我的问题:
感谢您的帮助!
答案 0 :(得分:1)
较早的问题,但可能仅仅是一个区分大小写的问题:
$days = array(
'monday' => 1,
'tuesday' => 2,
'wednesday' => 3,
'thursday' => 4,
'friday' => 5,
);
$current_day = strtolower( date( 'l', current_time('timestamp') ) );
$args = array(
'post_type' => 'portfolio',
'orderby' => 'menu_order',
'order' => 'ASC',
'meta_value' => esc_attr( get_post_meta( $post->ID, 'portsort', true ) ),
'posts_per_page' => $days[$current_day],
);