как исключить указанные c страницы из результатов поиска wordpress? - PullRequest
0 голосов
/ 27 марта 2020

Я хочу показывать только сегодняшние и последующие события в результатах поиска Worpdress для каждого сообщения с категорией "события". Это мой код, и он не работает.

function du_filter_search($query){
   if ( ! is_admin() && is_category( 'events' ) && $query->is_main_query() && is_search() ) {
        $query->set( 'meta_key', 'endDate' );
        $query->set( 'meta_query', array(
            array(
                'key'     => 'endDate',
                'value'   => date('Y-m-d H:i:s'),
                'compare' => '>=',                
                'type'    => 'DATETIME',
            )
        ) );
   }
}
add_action( 'pre_get_posts', 'du_filter_search' );

Пожалуйста, помогите. Спасибо.

1 Ответ

0 голосов
/ 27 марта 2020

Вы рядом. Я думаю, вам нужно обновить meta_query на:

function du_filter_search($query){
  if ( ! is_admin() && $query->is_main_query() && $query->is_search() ) {
    $query->set( 'meta_key', 'endDate' );
    $query->set( 'meta_query', array(
      array(
        'key'     => 'endDate',
        'value'   => date('Y-m-d'),
        'compare' => '>=',                
        'type'    => 'DATE',
      )
    ));
  }
}
add_action( 'pre_get_posts', 'du_filter_search' );

Используя DATE вместо DATETIME и удалить H:i:s с текущей даты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...