is_singular

Условный тег срабатывает, когда пользователь находится на любых отдельных типах страниц: пост, постоянная страница, вложение или произвольный тип записи.

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

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

✈ 1 раз = 0.00005с = очень быстро | 50000 раз = 0.02с = скорость света

Хуков нет.

Возвращает

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( array('newspaper', 'book') ) ){
	// здесь какой-нибудь код 
}

Код из


wp-includes/query.php

WP 4.7.2

<?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 );
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *