Получить текущую страницу пользовательской таксономии, чтобы запросить пользовательский тип записи - PullRequest
0 голосов
/ 28 сентября 2018

Пока у меня есть зарегистрированная таксономия, именуемая position, которая связана с определенной страницей, а также пользовательский тип записи, называемый People.У меня также есть страница с настроенной таксономией для использования таксономии position.

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

Например, таксономии position назначены некоторые элементы, например - Продажи, Бухгалтерия,и т. д. У меня есть некоторые записи для пользовательского типа сообщения People, например - Джон, Мэри, Сэм и т. д. У меня есть Джон и Мэри, настроенные на использование таксономии Sales, в данном случае.

На странице продаж я настроил использование пользовательской таксономии position Sales.

. Я пытаюсь получить пользовательскую таксономию position на странице шаблона продаж.который должен вернуть имя и / или фрагмент Sales, а затем взять эту информацию и передать ее в запрос, чтобы проверить соответствие пользовательскому типу поста People и извлечь связанных людей из этой пользовательской таксономии.В этом случае на странице «Продажи» должно быть в состоянии вытащить двух людей, Джона и Мэри.

Пока у меня есть это на странице шаблона «Продажи»:

<?php $tax = get_terms( array( 'taxonomy' => 'position' ) ); ?>

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

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

<?php $args = array( 'post_type' => 'people', 'taxonomy' => $tax);
$loop = new WP_Query( $args ); ?>

1 Ответ

0 голосов
/ 01 октября 2018

Хорошо, так что я все понял.

Чтобы сделать это, вам нужно получить идентификатор текущей записи со страницы, передать его через get_the_terms, а затем создать запрос для запроса пользовательского типа записи с помощью tax_query, а затем передатьэто в массив tax_query:

<?php
            $id = get_post($post->ID);
            $tax = get_the_terms($id, 'position');
            $args = array(
              'post_type' => 'people',
              'tax_query' => array(
                array(
                  'taxonomy' => 'position',
                  'field'    => 'slug',
                  'terms'    => $tax[0]->slug,
                ),
              ),
            );
            $loop = new WP_Query( $args );
            ?>

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

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...