is_tax()
Срабатывает на архивной странице произвольной таксономии (новой, пользовательской) или на странице термина. Условный тег.
Возвращает true, если зарегистрирована новая таксономия и пользователь зашел на страницу элемента этой таксономии (термина).
Это аналог is_category(), is_tag(), но не заменяет их, а дополняет - срабатывает только для новых (произвольных) таксономий. Т.е. is_tax() вернет false на страницах архивов рубрик и меток!
Возвращает false, если для таксономии не предусмотрен параметр запроса во фронт-энде. Т.е. если при регистрации таксономии установлен параметр query_var = false
. Смотрите: register_taxonomy().
Используйте has_term(), когда нужно проверить находится ли запись в таксономии.
Хуков нет.
Возвращает
true|false
.
Использование
if( is_tax( $taxonomy, $term ) ){ // это таксономия... }
- $taxonomy(строка/массив)
- Название таксономии (slug). Можно указать несколько таксономий в массиве.
По умолчанию: '' - $term(строка/массив/число)
- Название, ярлык или ID элемента таксономии (например: рубрики, метки).
По умолчанию: ''
Примеры
#1 Проверим, что мы находимся на странице архива таксономии
Ниже несколько примеров, когда функция is_tax() вернет true (сработает).
is_tax(); // когда отображается страница любой таксономии. is_tax( 'channel' ); // когда выводятся записи таксономии 'channel', для любого элемента этой таксономии. is_tax( 'channel', 'BBC1' ); // когда выводятся записи таксономии 'channel' для элемента (рубрики) 'BBC1'. is_tax( 'channel', array( 'BBC1', 'SNN' ) ); // когда выводятся записи таксономии 'channel' для элементов (рубрик) 'BBC1' или 'SNN'.
#2 Особенность с таксономией «Формат Поста»
Форматы постов в WP реализованы через таксономии. Но ярлык элемента таксономии в них не используется как есть, как это у других такс, а к нему добавляется префикс post-format-.
Например, есть формат поста «Aside» с ярлыком «aside». Его название будет равно post-format-aside.
if( is_tax( 'post_format' ) ){ // архивная страница для любого "Формата Поста". } if( is_tax( 'post_format', 'post-format-aside' ) ){ // архивная страница "Формата Поста" aside. }
Заметки
- Global. WP_Query. $wp_query WordPress Query object.
Список изменений
С версии 2.5.0 | Введена. |
Код is_tax() is tax WP 6.4.3
function is_tax( $taxonomy = '', $term = '' ) { global $wp_query; if ( ! isset( $wp_query ) ) { _doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' ); return false; } return $wp_query->is_tax( $taxonomy, $term ); }