Функция возвращает true
в случае нахождения на страницах постов, вложений или произвольных типов записей, кроме типа page
(страницы) — для их определения существует функция is_page().
is_single( $post = '' )
$post
(целое|строка|массив) — ID, ярлык или заголовок записи. Имеется возможность передавать несколько значений через массив.
Примеры использования функции
Парочка простых примеров. Если отображается страница поста, выведет его ID:
if( is_single() ){ echo $post->ID; }
И обратный вариант:
if( !is_single() ){ echo 'Вы находитесь где угодно, но только не на странице поста.'; }
Два примера передачи ID поста в качестве параметра:
if( is_single(5) ){ echo 'Вы просматриваете запись, ID которой равен 5'; }
if( is_single('5') ){ echo 'Вы просматриваете запись, ID которой равен 5'; }
Проверка, отображается ли в данный момент пост с ID=5 ИЛИ пост с ID=14:
if( is_single( array(5, 14) ) ){ echo $post->ID; }
В том случае, если значением аргумента является заголовок поста, убедитесь, что все буквы находятся в правильном регистре, так как это учитывается тоже, и два заголовка «Кодекс WordPress» и «кодекс wordpress» будут неравны друг другу.
if( is_single('Кодекс WordPress') ){ echo $post->ID; }
Ещё один пример с массивом в качестве значения параметра:
if( is_single( array(5, 14, 'Кодекс WordPress', 'jquery', 11, 'posts-in-wordpress') ) ){ echo $post->ID; }