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.