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.