Условный оператор для пользовательской таксономии
Не могу разобраться, как этого добиться, если это вообще возможно. Нужен аналог is_category
, но для пользовательской таксономии, которую я создал. Таксономия называется Taxonomy Name
и содержит 2 элемента: Taxonomy One
и Taxonomy Two
. Вот что я пробовал:
<?php if ( has_term('taxonomy-one' ) ) {?>
<div class="test" style="color: red"><?php the_field('field_name'); ?></div>
<?php } elseif ( has_term('taxonomy-two' ) ) {?>
<div class="test" style="color: green"><?php the_field('field_name'); ?></div>
<?php } ?>
Похоже, что по этой теме нет документации, поэтому я совсем не уверен, возможно ли это. Надеюсь на помощь, любые предложения будут очень ценны!

Я почти уверен, что не стоит использовать отрицание в условиях... Если вы проверяете ! is_tax...
, это будет истинно не только для других страниц таксономий, но и для одиночных записей, и любых других...
Поэтому это должно выглядеть так:
<?php if ( is_tax('taxonomy-name','taxonomy-one' ) ) {?>
<div class="test" style="color: red"><?php the_field('field_name'); ?></div>
<?php } elseif ( is_tax('taxonomy-name','taxonomy-two' ) ) {?>
<div class="test" style="color: green"><?php the_field('field_name'); ?></div>
<?php } ?>
А что касается отсутствия документации... Я не знаю, где вы искали, но есть страница в кодексе для is_tax
: http://codex.wordpress.org/Function_Reference/is_tax ;)
P.S. Если вы хотите проверить, относится ли запись к определённому термину, то вам следует использовать функцию has_term
.

спасибо за это! Я читал об этом в codex раньше, но на самом деле я не хочу размещать этот код в архиве таксономии, а в архиве произвольного типа записи, к которому я добавил пользовательские таксономии :) Я также пробовал приведенный выше код, который вы предложили, но он не сработал :(

is_tax
проверяет, является ли текущая страница архивом таксономии. Архив произвольного типа записи — это не архив таксономии (так же как индекс записей — это не архив категории)... Так что я не совсем понимаю, чего вы хотите достичь...?

а, понятно, я не знал этого, я новичок в таксономиях, извините. Я хотел проверить, относится ли запись к одной таксономии или к другой. Если к одной — текст в архиве записей должен быть красным, если к другой — зеленым.

Без проблем. Вам следует использовать has_term
(http://codex.wordpress.org/Function_Reference/has_term).

Я отредактировал свой вопрос с использованием has_term
, но всё равно ничего не работает, ничего не отображается?

Что такое taxonomy-one
в вашем коде? Это термин или название вашей пользовательской таксономии?

А как называется эта пользовательская таксономия? (не термин)

название этой таксономии - 'Taxonomy Name' с ярлыком 'taxonomy-name'

Хорошо, попробуйте has_term('taxonomy-one', 'taxonomy-name')
