Функция is_singular() в WordPress: примеры использования, параметры и вывод

IS_SINGULAR() │ WP 1.5.0

Функция is_singular() позволяет проверить, просматривается ли страница типа поста (пост, страница, вложение или любой другой тип поста). Это условная функция.

Эта функция объединяет в себе несколько условных тегов: is_single(), is_page(), is_attachment() и пользовательские типы постов.

Вы можете указать конкретный тип поста, который хотите проверить, в параметре $post_types.

Логика работы этой функции отличается от is_single(), поскольку она проверяет не конкретный пост, а его тип.

Используйте is_single(), если вам нужно проверить страницу по определённому ID или имени поста, но не по его типу (пост, страница, вложение).

Использование: WP_Query::is_singular()

Возвращаемое значение

  • true | false: Указывает, является ли текущий запрос существующим отдельным постом или любым из указанных типов постов.

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

if ( is_singular($post_types) ) {
    // ...
}
  • Параметр: $post_types (строка/массив) — тип поста или массив типов постов. По умолчанию: ''

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

Пример 1: Проверка, является ли это обычным постом

if ( is_singular( 'post' ) ) {
    // Просматривается обычный пост
}

Пример 2: Разные проверки

// Вернуть true, если это любой из следующих: is_single(), is_page() или is_attachment().
is_singular();

// True при просмотре поста типа "book".
is_singular( 'book' );

// True при просмотре поста типа "newspaper" или "book".
is_singular( [ 'newspaper', 'book' ] );

Пример 3: Отображение контента только на отдельных страницах

С помощью этого кода можно отображать разные рекламные блоки в сайдбаре для постов и других страниц (архивов).

if ( is_singular() ) {
    // Реклама №1
} else {
    // Реклама №2
}

Пример 4: Определение отдельной страницы определенного типа

Этот пример показывает, как определить единственную страницу типа поста "book".

if ( is_singular('book') ) {
    // Код, который будет работать только на страницах с типом поста 'book'
}

Пример 5: Определение нескольких типов постов

Пример, показывающий, как передать несколько типов постов в виде массива.

if ( is_singular( [ 'newspaper', 'book' ] ) ) {
    // какой-то код
}

Заметки

  • См. также: is_page(), is_single()
  • Глобальная переменная: WP_Query, $wp_query — объект запроса WordPress.

Изменения

  • С версии 1.5.0 — впервые добавлена функция.

Код функции

function is_singular( $post_types = '' ) {
    global $wp_query;

    if ( ! isset( $wp_query ) ) {
        _doing_it_wrong( __FUNCTION__, __( 'Условные теги запроса не работают до выполнения запроса. До этого момента они всегда возвращают false.' ), '3.1.0' );
        return false;
    }

    return $wp_query->is_singular( $post_types );
}

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

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

  • is_404()
  • is_admin()
  • is_archive()
  • is_attachment()
  • is_author()
  • is_category()
  • is_home()
  • is_single()

Основные функции

  • bloginfo()
  • get_header()
  • the_post()
  • и другие...

Теперь вы имеете полное представление о функции is_singular(), о том, как она работает и как её использовать в ваших проектах на WordPress.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *