- Функция get_terms():
Функция get_terms() — это удобный способ получить все термины в определенной таксономии. Он возвращает массив объектов терминов, которые можно перебирать для отображения данных или манипулирования ими. Вот пример:
$terms = get_terms( 'category' );
foreach ( $terms as $term ) {
echo $term->name;
}
- Функция get_term_by():
Если вы хотите получить определенный термин по его идентификатору, фрагменту или имени, вы можете использовать функцию get_term_by(). Он возвращает один объект термина, соответствующий предоставленным критериям. Вот пример:
$term = get_term_by( 'slug', 'my-term-slug', 'category' );
if ( $term ) {
echo $term->name;
}
- WP_Query с параметрами таксономии.
Чтобы получить сообщения на основе определенных терминов таксономии, вы можете использовать класс WP_Query вместе с параметрами таксономии. Вот пример:
$args = array(
'post_type' => 'post',
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => 'my-term-slug',
),
),
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
the_title();
}
wp_reset_postdata();
}
- Условный тег is_tax():
Если вы хотите проверить, соответствует ли текущая страница определенному термину таксономии, вы можете использовать условный тег is_tax(). Он возвращает true, если текущая страница соответствует указанной таксономии и термину. Вот пример:
if ( is_tax( 'category', 'my-term-slug' ) ) {
echo 'This is the category page for "my-term-slug".';
}
В этой статье мы рассмотрели несколько методов запроса таксономии в WordPress. Функция get_terms() позволяет получать все термины в таксономии, а функция get_term_by() извлекает конкретный термин на основе предоставленных критериев. Кроме того, WP_Query позволяет вам получать сообщения, связанные с определенными терминами таксономии, а условный тег is_tax() помогает вам идентифицировать таксономию и термин текущей страницы. Имея в своем распоряжении эти мощные методы запросов, вы можете эффективно организовывать и извлекать контент в своих проектах WordPress.