Метод 1: использование get_terms()
Функция get_terms() — это встроенная функция WordPress, которая позволяет получать все термины пользовательской таксономии. Вы можете использовать его с параметром «taxonomy», чтобы указать целевую таксономию и получить массив терминов.
$terms = get_terms( array(
'taxonomy' => 'your_custom_taxonomy',
'hide_empty' => false,
) );
foreach ( $terms as $term ) {
// Process each term
echo $term->name;
}
Метод 2: использование WP_Term_Query
Класс WP_Term_Query обеспечивает гибкий и объектно-ориентированный способ получения терминов. Вы можете использовать его с параметром «таксономия», чтобы получить все термины из определенной таксономии.
$term_query = new WP_Term_Query( array(
'taxonomy' => 'your_custom_taxonomy',
'hide_empty' => false,
) );
$terms = $term_query->get_terms();
foreach ( $terms as $term ) {
// Process each term
echo $term->name;
}
Метод 3: использование пользовательского запроса к базе данных
Если вы предпочитаете более прямой подход, вы можете использовать собственный запрос к базе данных для получения всех терминов. Этот метод дает вам больше контроля над запросом и позволяет настроить его в соответствии с вашими конкретными требованиями.
global $wpdb;
$terms = $wpdb->get_results(
$wpdb->prepare(
"SELECT name FROM {$wpdb->terms} AS t
INNER JOIN {$wpdb->term_taxonomy} AS tt ON t.term_id = tt.term_id
WHERE tt.taxonomy = %s",
'your_custom_taxonomy'
)
);
foreach ( $terms as $term ) {
// Process each term
echo $term->name;
}
Получение всех терминов пользовательской таксономии — важная задача при работе с WordPress. В этой статье мы рассмотрели три различных метода достижения этой цели: использование функции get_terms(), использование класса WP_Term_Query и использование специального запроса к базе данных. Каждый подход обеспечивает гибкость и позволяет получать нужную информацию в соответствии с вашими конкретными потребностями.
Не забудьте выбрать метод, который лучше всего соответствует требованиям вашего проекта. Реализовав эти примеры кода, вы сможете эффективно получить все термины пользовательской таксономии в WordPress и расширить возможности организации контента.