in_category() — функция, позволяющая проверить, принадлежит ли пост к указанным категориям

Функция возвращает логическое true, если пост принадлежит одной из указанных рубрик, в обратном случае — false. Родительские рубрики не учитываются.

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

in_category( $category, $post )

Параметры

$category
(целое|строка|массив) (обязательное) одна или несколько (через массив) категорий, перечисленных по ID, имени или ярлыку,

$post
(целое|объект) (необязательно) ID или объект поста, по умолчанию — текущий пост в цикле

Примеры использования

Проверяем, принадлежит ли пост с указанным ID к рубрикам «WordPress» или «HTML»:

if ( in_category( array('WordPress', 'HTML'), 5 )) {
	// действия в случае, если принадлежит категориям
}

То же самое условие, только с использованием в качестве параметров ID рубрик:

if ( in_category( array(15, 4), 5 )) {
	// WordPress с ID = 15, HTML с ID = 4
}

Обратное условие:

if ( !in_category( array('WordPress', 'HTML'), 5 )) {
	// действия в случае, если НЕ принадлежит категориям
}

Параметр $post можно не указывать в цикле, а также в файле single.php — автоматически будет определен текущий пост.

if ( in_category( 'wordpress') ) {
	// в качестве параметра указан ярлык рубрики
}

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

if ( in_category(4) && in_category('wordpress') && in_category('css') ) {
	// находится во всех трех рубриках
}

Короче говоря условие будет выполняться, если:

пост находится в категориях CSS, HTML и WordPress
Миша Рудрастых Разработчик WordPress WooCommerce

Миша Рудрастых

Впервые познакомился с WordPress в 2009 году, и после двух лет мучений с Joomla и самописными движками это был просто бальзам на душу. С 2014 года меня можно встретить на WordCamp — официальной конфе по WP в Москве, иногда там выступаю. Также в настоящее время веду курсы по WordPress в Epic Skills в Питере.