Описание функции is_singular()
Функция is_singular() используется для проверки, отображается ли текущая страница уникальной записью, такой как пост, страница или пользовательский тип записи. Это полезно для выполнения условий, специфичных для отдельных записей, например, изменения оформления или поведения темы.
Функция возвращает true, если текущая запись является уникальной, и false в противном случае.
Параметры
$post_type
Тип: string|array
Обязательный: Нет
По умолчанию: null
Описание: Тип записи для проверки (например, ‘post’, ‘page’, ‘custom_post_type’)
Возможные значения:
type: post, page, custom_post_type
array: post, page, custom_post_type
Возвращаемое значение
Тип: bool
Описание: Возвращает true, если текущая страница является уникальной записью, иначе false
Возможные значения:
• true — если текущая запись уникальна
• false — если текущая запись не уникальна
Примеры использования
Проверка, является ли текущая страница уникальной записью
if (is_singular()) {
echo 'Это уникальная запись';
}
Выводится сообщение, если это так
Проверка, является ли текущая страница постом
if (is_singular('post')) {
echo 'Это пост';
}
Выводится сообщение, если это пост
Отличие поведения для страниц и других типов записей
if (is_singular('page')) {
// Код для страниц
} else {
// Код для других типов записи
}
Разные действия в зависимости от типа записи
Подключение отдельного шаблона для пользовательского типа записи
if (is_singular('custom_post_type')) {
get_template_part('template-parts/content', 'custom');
}
С помощью get_template_part() подключается нужный шаблон
Безопасность
Валидация входных данных: Параметры проверяются при передаче функции
Санитизация: Функция принимает только допустимые значения типов записи
Рекомендации: Следует убедиться, что переданные значения являются строками или массивами допустимых типов записи
— Связанные функции
Проверяет, отображается ли конкретный пост
Проверяет, отображается ли страница
— Хуки
Фильтрует результат проверки is_singular()
— Примечания
– Ограничения
Не работает для архивов и страниц с несколькими записями
– Частые проблемы
- Возвращает false при неправильной передаче типов записи
- Неправильная логика при использовании в циклах