Wordpress条件检查循环

时间:2013-06-26 19:25:47

标签: php wordpress date loops conditional

所以我正在尝试为侧边栏中显示的一组帖子信息添加一个条件语句作为“事件”日历。

基本上它显示了帖子的日期,帖子标题以及带有帖子链接的小摘录。

我认为一切正常,但我现在需要以不同的方式做一些事情。

现在我需要它:

1)检查帖子的日期是否为今天的日期。

2)如果帖子是今天的日期,则执行以下操作:如果帖子具有“条目”类别则显示帖子,否则如果没有,并且今天没有“条目”类别的帖子,则显示任何其他那是今天发布的。

我还想做一些帖子只在一周中的某些日子显示。不知道我如何构建该函数,然后检查它。

到目前为止,我的代码不起作用:

<?php

  $today = getdate();

  $args = array(
    'post_type' => 'post',
    'post_status' => 'publish',
    'posts_per_page' => 3,
    'orderby' => 'date',
    // 'day' => $today['mday']
  );


  // The Query
  $my_posts = new WP_Query( $args );

  foreach($my_posts as $posts) : setup_postdata($post); ?>

  <?php if( $post->is_category=='Entries' ) : ?>
          <li>
             <p class="date">
               <a href=""><span class="month"></span></a> 
               <a href=""><span class="day"></span></a>
             </p>
             <p class="info">
               <a href=""><?php the_title(); ?><i class="icon-chevron-right"></i></a><br>
              </p>      
             <div class="clear"></div>
           </li>';

   <?php endif; ?>
 <?php endforeach; ?>

我通过Wordpress论坛查看了其他一些示例,这些示例在我检查了类别名称后无效。

上面我只是检查它是否会显示任何东西只是检查一个类别,但事实并非如此。我正在看着手抄本,但我认为我只是不理解它。

这是另一个问题,但除此之外。有没有办法为帖子设置日期范围,这意味着,这篇文章将在6月1日到6月10日之间上线,谁的发布日期将显示为今天。

例如(我可能会失去你的一些)我设置了一个持续时间从6月1日到6月5日的事件。在日历上,它显示为当前的任何一天。

2 个答案:

答案 0 :(得分:1)

您没有正确使用is_categoryWordpress Codex

尝试将$post->is_category=='Entries'更改为$post->is_category('Entries')

答案 1 :(得分:1)

检查帖子是否今天发布:

$postDate = strtotime( $post->post_date );
$todaysDate = time();
if($postDate == $todaysDate){
//code block
}

检查帖子是否属于特定类别:

if ( in_category( 'Entries' )) {
//code block
}

请参阅in_category()

列出今天发布的帖子:

$day = date('j');
query_posts( "day=$day&order=ASC" );

请参阅query_posts()

我认为现在应该很容易。祝你好运!