При разработке WordPress таксономии — это мощный способ категоризации и организации контента. Класс WP_Queryпредоставляет различные параметры для запроса сообщений на основе таксономии, и один из наиболее полезных параметров — tax_query. В этой статье мы рассмотрим различные методы использования tax_queryс примерами кода, которые помогут вам эффективно использовать эту функцию.
Метод 1: базовый пример Tax_Query
$args = array(
'post_type' => 'post',
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => 'news'
)
)
);
$query = new WP_Query($args);
Метод 2: несколько таксономий
$args = array(
'post_type' => 'product',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'color',
'field' => 'slug',
'terms' => 'red'
),
array(
'taxonomy' => 'size',
'field' => 'slug',
'terms' => 'large'
)
)
);
$query = new WP_Query($args);
Метод 3: пользовательские типы сообщений
$args = array(
'post_type' => 'book',
'tax_query' => array(
array(
'taxonomy' => 'genre',
'field' => 'slug',
'terms' => 'mystery'
)
)
);
$query = new WP_Query($args);
Метод 4. Исключение публикаций
$args = array(
'post_type' => 'post',
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => 'news',
'operator' => 'NOT IN'
)
)
);
$query = new WP_Query($args);
Метод 5: Иерархическая таксономия
$args = array(
'post_type' => 'page',
'tax_query' => array(
array(
'taxonomy' => 'product_category',
'field' => 'term_id',
'terms' => array(10, 15),
'include_children' => false
)
)
);
$query = new WP_Query($args);
Параметр tax_queryв WordPress предоставляет гибкий и мощный способ запроса сообщений на основе таксономии. Используя различные методы и примеры кода, вы можете эффективно фильтровать и извлекать нужный вам контент. Независимо от того, работаете ли вы с базовыми таксономиями, пользовательскими типами записей или иерархическими таксономиями, tax_queryпозволяет вам создавать сложные запросы и расширять функциональность ваших веб-сайтов WordPress.
Поняв и эффективно используя tax_query, вы сможете в полной мере воспользоваться преимуществами системы таксономии WordPress и обеспечить лучший пользовательский опыт для посетителей вашего сайта.