WP自定义循环 - 根据工作日显示特定的CPT帖子

时间:2017-10-13 06:52:08

标签: php wordpress date

我有CPT叫做godziny-otwarcia(英文:开放时间)。我有7个帖子(每个工作日一个星期一:星期一,星期二...星期日)。这篇文章的内容是开放时间,如:09.00 - 21.00。我想要实现的是有一个循环,它将显示今天的开放时间。

所以我目前的循环是:

<?php
   $args = array(
      'post_type' => 'godziny-otwarcia',
      'post__in' => array(1, 2, 3, 4, 5, 6, 7)
   );

   $query = new WP_Query($args);
   while ($query->have_posts()) : $query->the_post();
   ?>
      <div class="single-row">
         <div class="single-day">
           <span class="day-desc"><?php the_title(); ?></span>
           <span class="timing"><?php $opening_hours = types_render_field("opening-hours", array("raw"=>"true","separator"=>";")); echo $opening_hours; ?>  <i class="fa fa-clock-o"></i>
          </span>
         </div>
     </div>    

然后我知道我应该制作7个不同的if语句来检查工作日:

if ( date ( 'w' ) == 1 ) {
    the_content();
    }
else if( date ( 'w' ) == 2 ) {
    the_content();
    }
else if( date ( 'w' ) == 3 ) {
    the_content();
    }
else if( date ( 'w' ) == 4 ) {
    the_content();
    }
else if( date ( 'w' ) == 5 ) {
    the_content();
    }
else if( date ( 'w' ) == 6 ) {
    the_content();
    }
else if( date ( 'w' ) == 0 ) {
    the_content();
}

但不幸的是 - 我不知道如何连接语句,循环; /它甚至可行吗?感谢您提供所有提示/建议..

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

if ( date ( 'w' ) == 1 ) {
    $monday = new WP_Query('post_type=godziny-otwarcia&p=1');
    echo $monday->the_content;
    }
else if( date ( 'w' ) == 2 ) {
    $tuesday = new WP_Query('post_type=godziny-otwarcia&p=2');
    echo $tuesday->the_content;
    }
else if( date ( 'w' ) == 3 ) {
    etc.
    }
else if( date ( 'w' ) == 4 ) {
    etc.
    }
else if( date ( 'w' ) == 5 ) {
    etc.
    }
else if( date ( 'w' ) == 6 ) {
    etc.
    }
else if( date ( 'w' ) == 0 ) {
    etc.
}

您无需将其置于循环中。