is_archive() — проверяет, отображается ли в данный момент любая страница архивов постов

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

  • архивы рубрик постов,
  • метки,
  • таксономии,
  • архивы по дате.

На всех этих страницах функция будет возвращать true. При этом для каждой из них существует отдельный условный тег, а is_archive() — это такой обобщенный вариант.

is_archive()

Условный тег не имеет параметров, возвращает true или false.

Пример

if( is_archive() ) {
 
}

Иерархия условных тегов

if( is_archive() ) {
    // какой-нибудь из перечисленных ниже архивов
 
    if( is_category() ) {
        // архив рубрик
 
    } elseif( is_tag() ) {
        // архив меток
 
    } elseif( is_tax() ) {
        // архив произвольной таксономии
 
    } elseif( is_date() ){
 
        if( is_year() ) {
            // архив по годам
 
        } elseif( is_month() ) {
            // архив по месяцам
 
        } elseif( is_day() ) {
            // архив по дням
        }
    }
}

Источник: misha.blog

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

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: