Intereting Posts
Как я могу показать другое меню для разных страниц? Как перехватить правила перезаписи, а затем отобразить конкретную запись? плагин, чтобы создать определенную запись Проверка является родителем категории или нет из ее идентификатора Показать сообщение / страницу в div с помощью функции Массив в мета-ключе? WooThemes Mini Features – изменение query_posts для отображения только sticky_posts Ограниченные таксономические родители два редактора tinyMCE на одной странице Как удалить два (связанных) строк wp_postmeta? получить термин slug из пользовательской таксономии текущих постов Детская тема отличается от родительской темы и неправильно отображает части Надлежащее модульное тестирование в WordPress Как получить список всех пользователей, зарегистрированных до указанной даты? Как мне получить дополнительные возможности редактирования изображений в администраторе?

Как создать / modfiy WP_Query для поиска в заголовке сообщения или пользовательском поле?

Мне нужно изменить или создать WP_Query, который будет искать поисковый запрос как в заголовке сообщения, так и в настраиваемом поле («my_field»).

Я читал и пытался часами, но я вернусь к этому коду (ниже), который, увы, только ищет в «my_field» и не учитывает post_title.

function my_pre_get_posts_2( $query ) { if ( is_admin() && $query->is_main_query() && $query->query['post_type'] === 'post' && isset($query->query['s']) ) { $search_word = $query->query['s']; $args = array( //'s' => $search_word, //If I include this line, the WP query seems to AND post_title and my_field. If I comment out this line, the WP query only searches in my_field 'post_type' => 'post', 'meta_query' => array( 'relation' => 'OR', array( 'key' => 'my_field', 'value' => $search_word, 'compare' => 'IN' ), array( 'key' => 'post_title', 'value' => $search_word, 'compare' => 'IN', ) ) ); //$query = new WP_Query( $args ); //Need to modify the existing WP_Query $query->init(); $query->parse_query($args); } } add_action( 'pre_get_posts', 'my_pre_get_posts_2' ); 

Причина, по которой мне нужно это сделать, – это то, что мне нужно изменить поведение кнопки «Найти сообщения» на странице «Все сообщения» (admin), чтобы независимо от того, что ищет пользователь admin, он вернет сообщения, которые имеют Соответствующий заголовок сообщения или значение my_field.

Чтобы выполнить поиск OR, я попытался объединить результаты WP_Query, как показано здесь. Могу ли я объединить 2 новых WP_Query ($ variable)? – в ответе руководства. Однако это не было отличным решением и привело к неустойчивому поведению.

Правильное решение, которое я нашел, это изменить запрос с помощью WP Custom Query, как показано в коде (который требует некоторых изменений) здесь – http://codex.wordpress.org/Custom_Queries ..