Как установить иерархические термины для публикации с помощью wp_set_object_terms

У меня есть иерархическая пользовательская таксономия, называемая «местами». Родительские категории – это названия стран, дочерние категории – территории страны.

Как я могу прикрепить эти термины к сообщению программно?

$country = 'Egypt'; $territory = 'Hurghada'; 

Итак, если категория Египта не существует, мне нужно ее создать, и мне нужно прикрепить территорию $ в подкатегории в Египте.

Вот где я до сих пор:

 $post_id = 10; $country_term_id = term_exists( $country, 'locations' ); if ($country_term_id !== 0 && $country_term_id !== null) { wp_set_post_terms($id, $country,'locations'); } else { //I guess this is where i need to set the territory? } 

Solutions Collecting From Web of "Как установить иерархические термины для публикации с помощью wp_set_object_terms"

Поскольку wp_set_post_terms() не принимает иерархию для него, вам сначала нужно проверить, существуют ли уже существующие термины, создать их с помощью wp_insert_term() если нет, и только затем назначить пост.

Обратите внимание, что было (не известно текущее состояние) некоторые ошибки, связанные с кешем, с такими вещами «на лету», см. « Вставка терминов в иерархическую таксономию»