is_single() WP 1.5.0

Перевіряємо, чи ми знаходимося на сторінці запису (будь-якого типу). attachmentЗаписи з типом pageне перевіряються. Умовний тег.

У першому параметрі можна вказати конкретний запис/записи (пости) для перевірки.

Використовуйте is_singular( $post_type ) , коли потрібно перевірити сторінку запису за її типом: post , page , attachment , а чи не по конкретному ID, імені тощо.

Працює на основі:
WP_Query::is_single()
1 раз – 0.00003 сек
(дуже швидко) | 50000 разів – 0.02 сек
(швидкість світла)

Хуків немає.

Повертає

true|false.

Використання

if( is_single( $post ) ){
	// ...
}
$post
(рядок/число/масив)

ID, заголовок або ярлик запису (склад), щоб виявити конкретний пост.

Можна передати масив із кількох чисел чи рядків.

Перевірка поста йде у порядку полів: ID , post_title , post_name .

Також, для деревоподібних записів, можна передати шлях: books/my-bookу разі пошук буде здійснюватися функцією get_page_by_path() .

За замовчуванням: ”

Приклади

0

#1 Різні приклади використання:

is_single();
// Коли відображається будь-який окремий запис (пост).

is_single('17');
is_single(17);
// Спрацює лише тоді, коли відображається запис з ID 17.

is_single('Музика Фламенко');
// Спрацює для посту із заголовком "Музика Фламенка".

is_single('musika-flamenko');
// Спрацює для посту зі складом "musika-flamenko".

is_single( array(17, 'musika-flamenko', 'Музика Фламенко') );
// Спрацює для відповідних постів. Додано у версії 2.5.

is_single('musika/flamenko');
// Спрацює для деревоподібного запису зі слагом flamenko, дочірньою до запису зі слагом musika.
0

#2 Перевірка по ярлику та кирилиця

Якщо у вас на сайті не встановлено плагін транслітерації ярликів Cyr to Lat enhanced або йому подібний, то при публікації запису, вона матиме кириличний ярлик перетворений на кодовані символи, наприклад слово “мій” виглядатиме так: %D0%BC%D0%BE %D0%B9 .

В результаті перевірка по кириличному ярлику не працюватиме. Щоб вона працювала, потрібно змінити ярлик за допомогою sanitize_title() :

is_single('моя-музика'); // неправильно

is_single( sanitize_title('моя-музика')); // правильно
0

#3 Додамо файл стилів CSS для будь-якої окремої сторінки Post

if( is_single() ){
	wp_enqueue_style( 'handle', 'path/to/cssfile.css');
}

нотатки

список змін

З версії 1.5.0Введено.

Код is_single() WP 6.0.2

function is_single( $post = '' ) {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags до роботи не працює, тому що керує. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_single( $post );
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *