WordPress как на ладони
rgbcode is looking for WordPress developers. Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

is_tax()WP 2.5.0

Срабатывает на архивной странице произвольной таксономии (новой, пользовательской) или на странице термина. Условный тег.

Возвращает true, если зарегистрирована новая таксономия и пользователь зашел на страницу элемента этой таксономии (термина).

Это аналог is_category(), is_tag(), но не заменяет их, а дополняет - срабатывает только для новых (произвольных) таксономий. Т.е. is_tax() вернет false на страницах архивов рубрик и меток!

Возвращает false, если для таксономии не предусмотрен параметр запроса во фронт-энде. Т.е. если при регистрации таксономии установлен параметр query_var = false. Смотрите: register_taxonomy().

Используйте has_term(), когда нужно проверить находится ли запись в таксономии.

Работает на основе: WP_Query::is_tax()
Основа для: is_product_tag()
1 раз — 0.000017 сек (очень быстро) | 50000 раз — 0.02 сек (скорость света) | PHP 7.0.2, WP 4.4.2

Хуков нет.

Возвращает

true|false.

Использование

if( is_tax( $taxonomy, $term ) ){
	// это таксономия...
}
$taxonomy(строка/массив)
Название таксономии (slug). Можно указать несколько таксономий в массиве.
По умолчанию: ''
$term(строка/массив/число)
Название, ярлык или ID элемента таксономии (например: рубрики, метки).
По умолчанию: ''

Примеры

0

#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'.
-1

#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() 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 );
}
1 комментарий
    Войти