PHP显示的帖子数量不正确

时间:2016-12-09 11:44:48

标签: php wordpress

对于我的一个(wordpress)项目,我有一个显示所有即将发生的事件的事件页面。问题是,我只需要展示2' future'事件。

我现在有:总共5个事件,过去3个事件(不应该再显示)和2个未来事件(应该显示)。当我使用showposts => 2当我做showposts =>时,没有显示未来的帖子5,显示2个未来事件。

如何确定只显示2个未来事件?

    <?php
    $months = array("", "januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december");
    query_posts( array( 'post_type' => 'events', 'showposts' => 5) );
  if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
  <?php

    $dateparts = explode("-",get_post_meta(get_the_ID(), 'date')[0] );
    $date = get_post_meta(get_the_ID(), 'date')[0];
    $event_date = \DateTime::createFromFormat('d-m-Y', $date);
    $now = new DateTime() ;
    $past_event = ($event_date <= $now);

      if(!$past_event){
        ?>

提前致谢

1 个答案:

答案 0 :(得分:0)

在'date'字段上创建一个辅助循环和元查询。我希望这会有所帮助。

 <?php 
            $event_query = new WP_Query(
            array( 
              'post_type'   => 'event',
              'meta_key'    => 'date', 
              'order_by'        => 'date',
              'order'       => 'asc',      
              'meta_query'  => array(
                 array(         
                  'key'     => 'date', 
                  'value'   => date("n"),
                  'compare' => '>=',      

                ) 
               ) 
              ) 
            ); 

     ?>
       <?php while($event_query->have_posts()): $event_query->the_post();  ?>