Получить родительский ID по ID термина

13 окт. 2014 г., 22:50:49
Просмотры: 38.6K
Голосов: 8

У меня есть id термина (term). Какую функцию нужно вызвать, чтобы получить parent id этого термина?

1
Комментарии

Это может быть полезно: https://wordpress.org/support/topic/if-current-taxonomy-has-child-andor-parent

RachieVee RachieVee
13 окт. 2014 г. 23:16:13
Все ответы на вопрос 2
1
19

Если у вас уже есть объект термина, вы можете использовать $term->parent. В противном случае можно сделать следующее:

$term = get_term($id, 'ВАША_ТАКСОНОМИЯ');
$termParent = ($term->parent == 0) ? $term : get_term($term->parent, 'ВАША_ТАКСОНОМИЯ');

Вторая часть представляет собой сокращенный if-else: ЕСЛИ у термина нет родителя, то мы присваиваем сам термин, в противном случае получаем родительский термин.

13 окт. 2014 г. 23:24:34
Комментарии

Если нужен только ID (а не объект термина), измените строку #2 на: $termParent = $term ? $term->parent : false;. Это вернёт либо ID родителя, либо false. Не объект. Также экономит запрос.

Radley Sustaire Radley Sustaire
13 окт. 2014 г. 23:29:29
0

Чтобы получить всех родителей категории, можно использовать:

get_ancestors($term_id, 'category', 'taxonomy');
24 мая 2023 г. 12:46:32