Описание функции has_shortcode()
Функция has_shortcode() проверяет, присутствует ли указанный шорткод в содержимом поста или страницы. Это полезно для условного выполнения кода в зависимости от наличия шорткодов. Функция особенно актуальна для разработчиков тем и плагинов, которые хотят адаптировать поведение сайта на основе контента.
Функция предоставляет простой способ проверки шорткодов без необходимости ручного парсинга содержимого.
Параметры
$content
Тип: string
Обязательный: Да
Описание: Содержимое, в котором необходимо проверить наличие шорткода
Возможные значения:
$shortcode
Тип: string
Обязательный: Да
Описание: Имя шорткода, который нужно проверить
Возможные значения:
Возвращаемое значение
Тип: bool
Описание: Возвращает true, если шорткод найден, и false в противном случае
Возможные значения:
• true: шорткод присутствует в содержимом
• false: шорткод отсутствует
Примеры использования
Базовый пример проверки наличия шорткода gallery
$content = ' Здесь текст с шорткодом.';
if (has_shortcode($content, 'gallery')) {
echo 'Шорткод gallery найден!';
} else {
echo 'Шорткод gallery не найден.';
}
Вывод: Шорткод gallery найден!
Проверка наличия другого шорткода video
$content = ' Текст с видео шорткодом.';
if (has_shortcode($content, 'video')) {
echo 'Шорткод video найден!';
}
Вывод: Шорткод video найден!
Безопасность
Валидация входных данных: Параметры проходят базовую валидацию на тип данных
Санитизация: Содержимое не очищается, так как это строка контента
Рекомендации: Избегайте передачи необработанных пользовательских данных напрямую
— Связанные функции
Выполняет шорткод и возвращает его вывод
Получает регулярное выражение для парсинга шорткодов
— Примечания
– Ограничения
Работает только с текстовым содержимым, не учитывает шорткоды в других местах
– Частые проблемы
- Возвращение false при наличии шорткода с неправильным именем
- Ошибки при попытке проверить шорткоды в контексте, где они не поддерживаются