WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

is_singular() WP 2.1

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

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

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

Используйте 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(строка/массив)
Тип записи или несколько типов записей, которые нужно проверять. Несколько типов записей нужно указывать в массиве.
По умолчанию: нет

Примеры

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

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

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

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

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

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

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

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

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

Заметки

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

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

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

Код is_singular() WP 5.6

<?php
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 комментов
    Войти