我有一个循环,显示我网站上所有“事件”帖子类型的帖子。每个帖子都有一个自定义的日期字段“event\\u date”,我根据它对循环的显示进行排序。
我想通过只显示与当月匹配的帖子来简化我的帖子管理;也就是说,截至今天(12月30日),所有12月份的帖子都会显示出来,但在1月1日,所有1月份的帖子都会显示出来。
注意,这不是发布日期,而是字段的值(事件发生时)。我想把这个月的帖子数保持到一个月,即使它们的日期过去了——所以整个月都是这样。
我在这里搜索到的大多数帖子都是关于帖子日期的,而我需要使用这个自定义字段的值。谢谢我的当前查询:
$args = array( \'post_type\' => \'hh_event\', \'posts_per_page\' => -1,\'orderby\' => \'meta_value\', \'meta_key\' => \'event_date\', \'order\' => \'ASC\' );
$the_query = new WP_Query( $args );
要添加到该字段中,该字段是使用高级自定义字段插件创建的自定义字段,并将日期保存为yymmdd。
最合适的回答,由SO网友:aaronwaggs 整理而成
您可以使用meta_query
参数显示当前月份的所有事件,如下所示:
$start_date = date( \'ym01\' );
$end_date = date( \'ymt\' );
$meta_query = array(
\'key\' => \'event_date\',
\'value\' => array( $start_date, $end_date ),
\'compare\' => \'BETWEEN\',
\'type\' => \'NUMERIC\'
);
$args = array(
\'post_type\' => \'hh_event\',
\'posts_per_page\' => -1,
\'orderby\' => \'meta_value\',
\'meta_key\' => \'event_date\',
\'order\' => \'ASC\',
\'meta_query\' => array( $meta_query )
);
$the_query = new WP_Query( $args );