Я пытаюсь скрыть все сообщения с прошедшей датой (это настраиваемое поле).
Я делаю это с pre_get_posts, но независимо от того, что я делаю, все страницы становятся 404 не найденными, и я не могу найти проблему. Вот функция:
function hide_past_events( $query ) {
if ( !$query->is_main_query() || is_admin() ) {
return;
}
$meta_query = (array)$query->get('meta_query');
$meta_query[] = [
[
'key' => '_the_custom_field',
'value' => time(),
'compare' => '>'
]
];
$query->set( 'meta_query', $meta_query );
}
add_filter( 'pre_get_posts', 'hide_past_events' );