Панель администратора Wordpress Поиск сообщений с настраиваемыми мета-значениями сообщений вместе с заголовком

Привет, у меня есть настраиваемый тип сообщения с именем регистрация, в котором при поиске я пытаюсь добавить настраиваемые мета-значения вместе с заголовком сообщения.

Ниже мой код,

function search_filter($query) {
  if ( !is_admin() && $query->is_main_query() ) {
    if ($query->is_search) {
      $query->set('post_type', 'registration');
      $query->set('meta_query', array(
          array(
            'key' => 'rg_1job_designation',
            'value' => $query->query_vars['s'],
            'compare' => 'LIKE'
          )
        ));
    }
  }
}

add_action('pre_get_posts','search_filter');

Но это не работает.

У меня есть сообщение заголовок -> Джон и Обозначение -> Дизайнер при поиске по Джону может получить 1 результат, но при поиске в конструкторе результат будет пустым (он также должен получить один результат).

Кто-нибудь знал, что не так в моем коде?


person Vin_fugen    schedule 31.01.2014    source источник
comment
Вы нашли решения для этого? Если да, поделитесь, пожалуйста, имея такой же prb. Благодарность   -  person Blue Rose    schedule 12.02.2016


Ответы (2)


Используйте этот плагин для поиска всего

http://wordpress.org/plugins/search-everything/

person Haris    schedule 31.01.2014

Прежде чем функция завершится, вам нужно вернуть $ query.

function search_filter($query) {
  if ( !is_admin() && $query->is_main_query() ) {
    if ($query->is_search) {
      $query->set('post_type', 'registration');
      $query->set('meta_query', array(
          array(
            'key' => 'rg_1job_designation',
            'value' => $query->query_vars['s'],
            'compare' => 'LIKE'
          )
        ));
    }
  }
  return $query;
}
person James    schedule 01.09.2017
comment
Нет, не знаешь. pre_get_posts - это действие - оно ничего не должно возвращать ... - person Krzysiek Dróżdż; 13.08.2019