使用自定义字段日期在 Wordpress 中隐藏过去的帖子
Hide past posts in Wordpress with custom field date
我希望 Wordpress 中的博客帖子按自定义字段中设置的日期排序,并在该日期过后隐藏。
我进行了排序,但不确定如何进一步隐藏帖子。自定义字段中的日期格式为 2022-01-01。
add_action( 'pre_get_posts', 'wpse183601_filter_category_query' );
function wpse183601_filter_category_query( $query ) {
if( is_front_page() && !is_admin() && $query->is_main_query() ) {
$meta_query = array(
array(
'meta_key' => 'event_date',
'value' => date('Y-m-d'),
'type' => 'DATE',
'compare' => '>='
)
);
$query->set( 'orderby','meta_value' );
$query->set( 'meta_key','event_date' );
$query->set( 'order','ASC' );
}
}
您需要将 $meta_query
变量传递给 meta_query
参数。试试下面的代码。
add_action( 'pre_get_posts', 'wpse183601_filter_category_query' );
function wpse183601_filter_category_query( $query ) {
if( is_front_page() && !is_admin() && $query->is_main_query() ) {
$meta_query = array(
array(
'meta_key' => 'event_date',
'value' => date('Y-m-d'),
'type' => 'DATE',
'compare' => '>='
)
);
$query->set( 'orderby', 'meta_value' );
$query->set( 'meta_key', 'event_date' );
$query->set( 'order', 'ASC' );
$query->set( 'meta_query', $meta_query );
}
}
我希望 Wordpress 中的博客帖子按自定义字段中设置的日期排序,并在该日期过后隐藏。 我进行了排序,但不确定如何进一步隐藏帖子。自定义字段中的日期格式为 2022-01-01。
add_action( 'pre_get_posts', 'wpse183601_filter_category_query' );
function wpse183601_filter_category_query( $query ) {
if( is_front_page() && !is_admin() && $query->is_main_query() ) {
$meta_query = array(
array(
'meta_key' => 'event_date',
'value' => date('Y-m-d'),
'type' => 'DATE',
'compare' => '>='
)
);
$query->set( 'orderby','meta_value' );
$query->set( 'meta_key','event_date' );
$query->set( 'order','ASC' );
}
}
您需要将 $meta_query
变量传递给 meta_query
参数。试试下面的代码。
add_action( 'pre_get_posts', 'wpse183601_filter_category_query' );
function wpse183601_filter_category_query( $query ) {
if( is_front_page() && !is_admin() && $query->is_main_query() ) {
$meta_query = array(
array(
'meta_key' => 'event_date',
'value' => date('Y-m-d'),
'type' => 'DATE',
'compare' => '>='
)
);
$query->set( 'orderby', 'meta_value' );
$query->set( 'meta_key', 'event_date' );
$query->set( 'order', 'ASC' );
$query->set( 'meta_query', $meta_query );
}
}