Поддержка Проблемы и решения Сложное условие if

  • Всем привет.

    Нужно сделать условие такого типа:
    «Если сейчас рубрика 1 или материал с рубрики 1, то…«

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

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Модератор Yuri

    (@yube)

    if ( is_category(1) or in_category(1) )

    Матчасть: http://codex.wordpress.org/Conditional_Tags

    in_category почему-то не работает. Если я в категории 1, то все норм, но если в материале с этой категории — пусто.

    Модератор Yuri

    (@yube)

    Должно работать, причем не только в Цикле.

    This tag can be used to test the current post within The Loop or (since Version 2.7) outside the Loop during a single post request. You can use it anywhere if you specify which post you want to test.

    Разве что одиночные записи выводятся нестандартным способом.
    (Некоторые, например, страстно желают выводить рубрики на статических страницах, а потом удивляются, почему у них все работает не так, как должно.)

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

    Использую плагин mqtranslate. Может в нем все дело?

    Внимание! Функция in_category() не проверяет принадлежность записи к родительским рубрикам, если запись опубликована в дочерней рубрике. Если запись опубликована в дочерней рубрике ‘Клубы -> Арсенал’, то проверка записи через in_category(‘Клубы’) вернет false.

    Решения Юрия помогло, просто я напартачил: перед условием было еще условие, которое выводило посты. Я просто забыл закрыть цикл.

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «Сложное условие if» закрыта для новых ответов.