WordPress как на ладони
wordpress jino

is_category() WP 1.5.0

Условный тэг. Проверяет показывается ли страница категорий или нет.

is_category() представляет собой логическую функцию, т.е. эта функция возвращает правду (true), если условие совпадает и ложь (false), если не совпадает.

✈ 1 раз = 0.000013с = очень быстро | 50000 раз = 0.01с = скорость света PHP 7.0.2, WP 4.4.1

Хуков нет.

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

if( is_category( $category ) ){
	// код...
}
$category(строка/число/массив)
ID рубрики, название или ярлык рубрики, или массив из ID, названий или ярлыков.
По умолчанию: нет

Примеры

#1. Пример разного рода проверок:

is_category();
// функция вернет true, если показывается любая страница категорий.

is_category('9');
// true, если показана страница категории с ID 9.

is_category('Выход есть');
// true, если показана категория с названием 'Выход есть'.

is_category('vihod-est');
// true, если показана категория с названием 'vihod-est'.

is_category(array(9,'blue-cheese','Stinky Cheeses'));
// Вернет true, если показана категория с ID 9 или с названием 
// 'blue-cheese', или со слагом 'Stinky Cheeses'. Имейте ввиду, 
// что возможность передавать массив была добавлена в версии 2.5.

Код is category: wp-includes/query.php WP 4.8.2

<?php
function is_category( $category = '' ) {
	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_category( $category );
}

Cвязанные функции

Из метки: Условные теги (типов страниц и запросов )

Еще из метки: Условные теги (все)

Еще из раздела: Запросы

is_category 11 комментариев
Полезные 3 Вопросы 2 Все
  • Vadim @

    Привет всем! Такой вопрос.
    Есть обычное меню с выпадающими подпунктами, т.е. там пункты нулевого уровня и у каждого из них пункты(подпункты) 1-го уровня. К пунктам меню 0-го уровня привязаны категории без постов(главные категории), а к подпунктам привязаны подкатегории с постами - обычная структура категорий с подкатегориями. Если нажать на к.-л. подпункт меню появляются посты этой подкатегории. А если нажать на пункт меню 0-го уровня, появляются посты всех подкатегорий для данной категории.
    Как сделать, чтобы при нажатии на пункт меню 0-го уровня ничего не происходило, всё осталось бы как есть на данный момент, или иначе, как обойти(отменить) выполнение цикла? Т.е. надо отменить какую-либо реакцию на нажатие пункта меню 0-го уровня.

    Ответить3.6 года назад #
    • Kama4485
      1. Попробуйте добавить к этим ссылкам onclick="return false;" через str_replace().

      2. Добавьте jQuery правило для этих ссылок:
      <script type="text/javascript">
      	jQuery('.nav-menu a').click(function(e){ e.preventDefault(); });
      </script>

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

      HTML меню скиньте, подскажу с селектором.

      1
      Ответить3.6 года назад #
      • Vadim @

        Всё. Сделал. Вместо главной категории при формировании меню надо добавить ссылку и удалить у неё URL.
        Kama, спасибо за поддержку.

        Ответить3.6 года назад #
  • Влад

    Доброй ночи! Скажите, как поставить условие так, чтоб оно затрагивало не только рубрику например "Wordpress", но и её подрубрики? т.е. чтобы is_category распространялось не только на саму рубрики но и на её подрубрики. Спасибо)

    Ответить3.2 года назад #
  • А как проверить на категорию если находишься на записи этой категории?
    У меня срабатывает только если в самой категории находишься, а надо чтобы также проверяло категорию поста, подскажите пожалуйста?

    Ответить2.4 года назад #
  • красный

    Может кто сможет помочь?

    Пытаюсь таким способом вывести стиль для нескольких категорий

    Как правильно задать стиль сразу для нескольких категорий не дублируя постоянно код?

  • Павел @

    Привет! 2 вопроса по теме:

    1. Нужно, чтобы в посте категории Статьи выводились последние статьи категории Статьи, а в других категориях ничего не выводилось. is_category - не срабатывает((
      Убираю условие принадлежности к категории - вывод последних статей работает, добавлю - нет.
    2. Как сделать, чтобы в посте предлагались свежие статьи открытой категории? smile Читаю пост категории 1, выводятся анонсы свежих статей категории 1, читаю пост категории 2 - соответственно, анонсы свежих категорий 2?
    Ответить23 дня назад #

Здравствуйте, !

Ваш комментарий