对于我的一个(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){
?>
提前致谢
答案 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(); ?>