使用pre_get_posts
要将元查询添加到主查询,请执行以下操作:
function wpd_date_meta_query( $query ) {
if( $query->is_post_type_archive( \'your_post_type\' ) && $query->is_main_query() ){
$meta_query = array(
array(
\'key\' => \'Date\',
\'value\' => date(\'Ymd\'),
\'compare\' => \'>=\',
\'type\' => \'NUMERIC\'
)
);
$query->set( \'meta_query\', $meta_query );
$query->set( \'meta_key\', \'Date\' );
$query->set( \'orderby\', \'meta_value_num\' );
$query->set( \'order\', \'ASC\' );
}
}
add_action( \'pre_get_posts\', \'wpd_date_meta_query\' );
还请注意,虽然当前日期格式可能会显示为正常工作,但使用除
yyyy-mm-dd
, 因为它只是一个8位数的数字比较。只要更改年份,您就会看到当前格式是如何失败的。