Освоение WP_Query: методы поиска терминов в WordPress

Метод 1: использование параметра Tax_query

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

В этом примере мы запрашиваем сообщения, относящиеся к категории «новости».

Метод 2: использование параметра «category_name»

$args = array(
   'post_type' => 'post',
   'category_name' => 'news'
);
$query = new WP_Query($args);

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

Метод 3: использование параметра «тег»

$args = array(
   'post_type' => 'post',
   'tag' => 'wordpress'
);
$query = new WP_Query($args);

Здесь мы ищем сообщения с тегом «wordpress».

Метод 4. Использование «tax_query» с несколькими терминами

$args = array(
   'post_type' => 'post',
   'tax_query' => array(
      'relation' => 'OR',
      array(
         'taxonomy' => 'category',
         'field' => 'slug',
         'terms' => 'news'
      ),
      array(
         'taxonomy' => 'post_tag',
         'field' => 'slug',
         'terms' => 'wordpress'
      )
   )
);
$query = new WP_Query($args);

Этот метод позволяет искать сообщения, которые относятся либо к категории «новости», либо имеют тег «wordpress».

Метод 5: использование «tax_query» с параметром «include_children»

$args = array(
   'post_type' => 'post',
   'tax_query' => array(
      array(
         'taxonomy' => 'category',
         'field' => 'slug',
         'terms' => 'news',
         'include_children' => false
      )
   )
);
$query = new WP_Query($args);

Установив для параметра include_children значение false, этот метод извлекает сообщения, отнесенные непосредственно к категории «новости», исключая ее дочерние категории.