is_single()
Перевіряємо, чи ми знаходимося на сторінці запису (будь-якого типу). attachment
Записи з типом page
не перевіряються. Умовний тег.
У першому параметрі можна вказати конкретний запис/записи (пости) для перевірки.
Використовуйте is_singular( $post_type ) , коли потрібно перевірити сторінку запису за її типом: post , page , attachment , а чи не по конкретному ID, імені тощо.
WP_Query::is_single()
(дуже швидко) | 50000 разів – 0.02 сек
(швидкість світла)
Хуків немає.
Повертає
true|false
.
Використання
if( is_single( $post ) ){ // ... }
-
$post
(рядок/число/масив) ID, заголовок або ярлик запису (склад), щоб виявити конкретний пост.
Можна передати масив із кількох чисел чи рядків.
Перевірка поста йде у порядку полів: ID , post_title , post_name .
Також, для деревоподібних записів, можна передати шлях:
books/my-book
у разі пошук буде здійснюватися функцією get_page_by_path() .За замовчуванням: ”
Приклади
#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.
#2 Перевірка по ярлику та кирилиця
Якщо у вас на сайті не встановлено плагін транслітерації ярликів Cyr to Lat enhanced або йому подібний, то при публікації запису, вона матиме кириличний ярлик перетворений на кодовані символи, наприклад слово “мій” виглядатиме так: %D0%BC%D0%BE %D0%B9 .
В результаті перевірка по кириличному ярлику не працюватиме. Щоб вона працювала, потрібно змінити ярлик за допомогою sanitize_title() :
is_single('моя-музика'); // неправильно is_single( sanitize_title('моя-музика')); // правильно
#3 Додамо файл стилів CSS для будь-якої окремої сторінки Post
if( is_single() ){ wp_enqueue_style( 'handle', 'path/to/cssfile.css'); }
нотатки
- Дивіться: is_page()
- Дивіться: is_singular()
- Global. WP_Query. $wp_query WordPress Query object.
список змін
З версії 1.5.0 | Введено. |
Код is_single() 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 ); }