Функция wp_get_term_taxonomy_parent_id()
в WordPress предназначена для получения идентификатора родительского термина (таксономии) для указанного термина. Это полезно в случаях, когда вы хотите определить структуру иерархии таксономий.
wp_get_term_taxonomy_parent_id( int $term_id, string $taxonomy ): int|false
Функция работает с заданным ID термина и таксономией. Она возвращает ID родительского термина, если такой существует, или false
, если родителя нет или произошла ошибка.
Параметры
- $term_id (int) — ID термина, для которого вы хотите получить ID родителя (обязательный параметр).
- $taxonomy (string) — Название таксономии, к которой принадлежит указанный термин (обязательный параметр).
Возвращаемое значение
- int — ID родительского термина, если он существует.
- false — Если родительский термин не найден или произошла ошибка.
Пример 1: Получение ID родительского элемента таксономии
В этом примере мы получаем ID родительского термина для термина с ID=10 в таксономии ‘my_tax’.
// Получаем ID родительского элемента таксономии
$parent_id = wp_get_term_taxonomy_parent_id(10, 'my_tax');
if ($parent_id !== false) {
echo "ID родительского термина: " . $parent_id; // Выведет ID родителя
} else {
echo "У термина нет родительского элемента или произошла ошибка.";
}
Пример 2: Получение ID родительского термина с помощью объекта термина
Если у вас есть объект термина, вы можете получить ID родителя, используя свойство parent
.
// Получаем термин с ID=10 из таксономии 'my_tax'
$term = get_term(10, 'my_tax');
// Получаем ID родительского термина
$parent_id = $term->parent ?? 0;
echo "ID родительского термина: " . $parent_id; // Выведет ID родителя или 0, если родителя нет
Пример 3: Получение ID родительского термина верхнего уровня
В этом примере мы перебираем всех родителей указанного термина, пока не достигнем верхнего уровня. Это полезно, если вы хотите получить ID родителя верхнего уровня.
$term_id = 10; // ID дочернего термина
while ($parent_id = wp_get_term_taxonomy_parent_id($term_id, 'my_tax')) {
$term_id = $parent_id; // Обновляем term_id на родительский ID
}
if ($term_id == 10) {
echo 'У термина нет родительских элементов.';
} else {
echo 'ID родителя верхнего уровня: ' . $term_id; // Выведет ID родителя верхнего уровня
}
Заключение
Функция wp_get_term_taxonomy_parent_id()
является полезным инструментом для работы с иерархическими таксономиями в WordPress. Она позволяет легко получать идентификаторы родительских терминов и управлять структурой таксономий, что может быть особенно полезно для сайтов с сложными иерархиями категорий и меток.