投资组合模板:根据星期几显示帖子数量?

时间:2013-01-30 07:11:04

标签: javascript wordpress wordpress-theming

这是我在这里发布的第二篇文章,所以如果我遗漏了一些内容,我会道歉!我在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个帖子。

对我而言,这似乎很容易......但由于某种原因它无法正常工作。

所以...我的问题:

  1. 这是适当的编码逻辑吗?
  2. 我在代码本身做错了什么?
  3. 感谢您的帮助!

1 个答案:

答案 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],
          );