Intereting Posts
Крюковые функции для электронной коммерции Wp? Есть ли способ написать собственный HTML-файл в формате .php, а затем вызвать его там, где это необходимо? Загруженный файл превышает директиву upload_max_filesize в php.ini Недоступная страница персонализированного типа Какой процесс вы используете для разработки WordPress? Добавить фильтр не работает с get_posts Невозможно загрузить носитель, правильные разрешения Как получить плагин комментариев Facebook в блоге? Изменение ширины значка избранного изображения на странице «Добавить / Редактировать страницу» Должен ли я использовать language_attributes () или bloginfo («язык») в теге html facebook like – изображение и описание изображения Измерение и ограничение загрузки файлов поле загрузки файла гравитации Сделать недоступным или отключенным ссылку на страницу меню разница между esc_attr (), strip_slashes (), strip_tags ()?

WP_Query по ключевому слову OR post tag

Есть ли какой-либо «родной» способ запроса по ключевому слову или тегу post?

Если нет, как я могу написать запрос GOOD SQL для правильного получения данных?

Заранее спасибо!

Solutions Collecting From Web of "WP_Query по ключевому слову OR post tag"

В зависимости от того, чего вы хотите достичь, самый простой способ, взятый из документации WordPress, выглядит ниже.

Отображает сообщения с пометкой «bob» в соответствии с пользовательской таксономией «люди» :

$args = array( 'post_type' => 'post', 'tax_query' => array( array( 'taxonomy' => 'people', 'field' => 'slug', 'terms' => 'bob', ), ), ); $query = new WP_Query( $args ); 

Проверьте ссылку на документацию – вы найдете более сложные примеры.

Обновить:

Если вы хотите запросить собственно для «ключевого слова» или «тега» …

Это смешно – я провел некоторое исследование, и выясняется, что это не так тривиально в WordPress.

Самое красивое, родное решение, которое я нашел, использует три запроса. Первые два получают идентификаторы – один по тегу, а другой по ключевому слову, а третий делает окончательный запрос.

 $set1 = new WP_Query( array(' 'fields'=> 'ids', 'post_type' => 'post', 'tax_query' => array( array( 'taxonomy' => 'people', 'field' => 'slug', 'terms' => 'bob' ) ) ) ); $set2 = new WP_Query( array( 'fields'=>'ids', 'post_type' => 'post', 's' => 'News') ); $combined_ids = array_merge($set1->posts, $set2->posts); $combined_ids = array_unique($combined_ids); $combines_sets = new WP_Query(array( 'post__in' => $combined_ids) );