Limit loop to future events

时间:2015-02-25 作者:Steven Robinson

我有一个自定义的帖子类型,basic_events, 带有自定义日期字段,date_of_event. 我的视图根据此自定义日期字段按升序显示这些帖子。

$args = array( 
     \'post_type\' => array(\'basic_events\'),
     \'order\'     => \'ASC\',
     \'orderby\'   => \'meta_value_num\',
     \'meta_key\'  => \'date_of_event\',
     \'paged\'     => $paged
); 
由于所有内容都是按该字段排序的,而不是按帖子类型或内部WordPress日期排序的,因此我很难弄清楚如何将此视图限制为仅显示未来事件。

限制查看未来事件的最佳方式是什么?

1 个回复
最合适的回答,由SO网友:Milo 整理而成

假设您的日期格式正确,以便正确订购(yyyy-mm-dd),请添加meta_query 到您的参数:

$args = array( 
    \'post_type\' => array(\'basic_events\'),
    \'order\' => \'ASC\',
    \'orderby\' => \'meta_value_num\',
    \'meta_key\' => \'date_of_event\',
    \'paged\' => $paged,
    \'meta_query\' => array(
        array(
                \'key\' => \'date_of_event\',
                \'value\' => date( \'Y-m-d\', current_time( \'timestamp\' ) ),
                \'compare\' => \'>\',
                \'type\' => \'DATE\'
        )
    )
);
EDIT- 已更改date( \'Y-m-d\' )date( \'Y-m-d\', current_time( \'timestamp\' ) ) 获取相对于站点时区设置的日期。看见current_time 在Codex中获取信息。

结束

相关推荐

使用自定义Meta DateTime选取器从页面回显页面标题

我正在使用Custom Metaboxes and Fields for Wordpress我正在使用datetime_timestamp 带有页面的自定义元。我正在尝试回显使用自定义元datetime的页面标题。但它不起作用。我的代码不正确。我可能离得很远!我在标题中有代码,我想用最接近的日期时间显示1。global $post; $text = get_post_meta( $post->ID, \'_cmb_test_datetime_timestamp\', true );