WordPress как на ладони

is_singular()WP 1.5.0

Проверяет просматривается ли страница записи (пост, страница, свой тип записи, вложение). Можно указать тип записи для проверки. Условный тег.

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

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

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

Основа для: is_product()
1 раз — 0.000001 сек (скорость света) | 50000 раз — 0.01 сек (скорость света) | PHP 7.2.5, WP 5.0.2

Хуков нет.

Возвращает

true|false.

Использование

if( is_singular( $post_types ) ){
	// ...
}
$post_types(строка/массив)
Тип записи или несколько типов записей, которые нужно проверять. Несколько типов записей нужно указывать в массиве.

Примеры

0

#1 Проверяет, является ли текущая страница обычным постом

if ( is_singular( 'post' ) ){
	// viewing a regular post
}
0

#2 Пример различных проверок

// true, если выполнено одно из следующих условий:
// is_single(), is_page() or is_attachment().
is_singular();

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

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

#3 Вывод содержимого только на отдельных страницах

Таким кодом, можно вывести разные рекламные блоки в сайдбаре для отдельных станиц и страниц отличных от них (архивов).

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

#4 Как определить отдельную страницу указанного типа

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

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

#5 Определение нескольких типов записей

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

if( is_singular( ['newspaper', 'book'] ) ){
	// здесь какой-нибудь код
}

Заметки

  • Смотрите: is_page()
  • Смотрите: is_single()
  • Global. WP_Query. $wp_query WordPress Query object.

Список изменений

С версии 1.5.0 Введена.

Код is_singular() WP 6.0.2

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

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_singular( $post_types );
}
15 комментариев
    Войти