Intereting Posts
Query_posts и вложения Добавить пользователя meta по форме на странице загрузки с новыми элементами Рекомендуемый снимок изображения иногда в содержимом, иногда изменяется изображение заголовка Как сделать уникальную страницу и показать ее на главной странице? Как я могу скрыть пользовательское поле от пользователей, используемых для кэширования ответа от внешнего api? Создание темы WordPress SQL – присоединиться к последнему ребенку Есть ли простой способ управления возможностями для каждого пользователя? Как сделать изображение вырезания полным размером, а не эскизом? что является лучшим способом добавить вещи в боковую панель Перемещенный сайт, старые ссылки на страницах, все еще указывающие на старый хост Как передать переменную в add_settings_section () обратный вызов? Ограничьте уровни дочерних элементов меню в меню «admin>> меню» Слишком много get_template_parts? Дайте пользователям максимальную загрузочную способность; ограничить количество файлов, которые пользователь может загрузить или ограничить количество файлов на загрузку

WP_Query tax_query – Показать результаты, если у ребенка есть родительский элемент X

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

континент – страна – – государство

Поиск форматируется следующим образом.

Вот моя проблема:

Пример данных:

Название таксономии = «местоположения». Пользовательский тип сообщения = «фирмы».

America [term_id = 1] - United States [term_id = 2] - - Idaho [term_id = 3] - - New York [term_id = 4] - - Wisconsin [term_id = 5] 

Итак, как я могу получить результаты для всех фирм с таксономией «местоположения» РОДИТЕЛЬ ID = 2 (США)?

Предположим, пользователь выберет США в раскрывающемся списке. Результаты не будут получены, потому что для типа персонализированного типа фирм выбранная таксономия «местоположения» всегда доводится до уровня государственного уровня. Так, например, фирма с «местоположениями», установленными в Нью-Йорке, не будет отображаться, когда пользователь будет искать «Соединенные Штаты», потому что их идентификатор таксономии «местоположения» равен 4 (государственный уровень) и NOT 2 (уровень страны).

Надеюсь, это имеет смысл … Я думал о том, что, возможно, сохранял уровень уровня страны и континентов в post_meta и условно добавлял мета-запрос на страницу поиска, если выбор не является государственным.

Есть идеи? Я думаю, что это довольно интересная проблема 🙂

благодаря

Если я правильно понимаю вас, get_term_children делает то, что вы хотите.

 $term_id = 2; $tax_name = 'locations'; $term_child = get_term_children( $term_id, $tax_name ); 

Другая возможность – использовать get_categories , иметь параметр child_of , taxonomy и depth – лучше будет документация по wp_list_categories , которая предлагает практически такую ​​же функциональность.