您是否尝试过使用meta_key
, meta_value
和meta_compare
?
function expiry_filter( $query ) {
if ( ! is_admin() && $query->is_main_query() ) :
$query->set( \'meta_key\', \'post_end_date\' );
$query->set( \'meta_value\', date(\'Ymd\') );
$query->set( \'meta_compare\', \'>\' );
endif;
}
add_action( \'pre_get_posts\', \'expiry_filter\' );
或者尝试使用
DATE
使用时键入
meta_query
?
function expiry_filter( $query ) {
if ( ! is_admin() && $query->is_main_query() ) :
$query->set( \'meta_query\', array(
array(
\'key\' => \'post_end_date\',
\'value\' => date( \'Ymd\' ),
\'compare\' => \'>=\',
\'type\' => \'DATE\'
)
) );
endif;
}
add_action( \'pre_get_posts\', \'expiry_filter\' );
或者只是使用清理后的函数版本
function expiry_filter( $query ) {
if ( ! is_admin() && $query->is_main_query() ) :
$query->set( \'meta_query\', array(
array(
\'key\' => \'post_end_date\',
\'value\' => date( \'Ymd\' ),
\'compare\' => \'>\',
\'type\' => \'NUMERIC\'
)
) );
endif;
}
add_action( \'pre_get_posts\', \'expiry_filter\' );