Функция возвращает логическое 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') ) { // находится во всех трех рубриках }
Короче говоря условие будет выполняться, если:
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
Помогите решить проблему, использую код (что бы во всех рубриках, кроме рубрик с id 538 190 300 выводилась , например, точка, как в этом случае)
Но выдает или ошибку или ничего не происходит. Подскажите, пожалуйста, правильно ли сам код написан.
ошибка возникает из-за неправильного построения конструкции
if
и неправильной передачи аргумента, можете использовать один из следующих вариантов:или
Использовал второй вариант - помогло. Спасибо большое!
пожалуйста)
Как быть если in_category срабатывает на главной
которые не имеют отношение к главной странице
Рекомендую удалить второй аргумент «5».
Проблема не в именно этом коде, на главной странице получается срабатывает is_home - с этим проблем нет, и in_category первой новости которая выводится на странице.
Да, если
in_category()
задействована внутри цикла и не имеет второго аргумента. Какая собственно ставится задача?Если к примеру пользователь находится на странице категории то появлялись под категории соответствующие данной категории.
Разобралась. Спасибо Вашему сайту.
Спасибо, решение простое!
Это будет быстрее в плане скорости, чем делать то же плагином.
Например, думал, как сделать, чтобы отдельные записи были доступны неавторизованным пользователям (сайт с материалами "для своих").
Прописал
Класс! Пожалуйста!