我们要显示4个即将发生的事件,并且每个事件都已指定为发布。当“ posts_per_page”设置为4时,仅显示1个帖子;当设置为7时,则显示4个帖子。令人困惑的是,当切换为下降时,问题消失了。
在检查了3个帖子的数据之后,这些3个帖子在我们想要的4个帖子之前被推送,似乎它们都是较旧的帖子,其中1个在4月(2018-04-23)完成,另一个在6月(2018-06)完成-20),最后一个是7月(2018-07-17)。
有想法吗?
<?php
$args = array(
'posts_per_page' => '7',
'post_type' => 'events',
'post_status' => 'published',
'meta_key' => 'event_date',
'orderby' => 'meta_value_num',
'order' => 'ASC'
);
$posts = get_posts($args);
if( $posts ): ?>
<?php foreach( $posts as $post ): setup_postdata( $post ) ?>
<?php
$date = get_field('event_date');
$today = date('Ymd');
if( $date >= $today ): ?>
<a class="single-event" href="<?php the_field('event_url');
?>" target="_blank">
<h2><?php
$source = get_field('event_date');
$date = new DateTime($source);
echo $date->format('F j, Y');
?>
</h2>
<div class="short-summary-grey">
<?php the_title(); ?>
</div>
</a>
<?php endif; ?>
<?php endforeach; ?>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
</div>