Функция позволяет определить, содержит ли переданная в неё строка определённый шорткод и возвращает true
или false
соответственно.
has_shortcode( $content, $tag )
Про шорткоды, кстати говоря, есть отдельный гайд на моём сайте.
Параметры
- $contentстрокаобязательный
- Любая строка текста, в которой будем искать шорткод.
- $tagстрокаобязательный
- Тег шорткода (без квадратных скобок), который будем искать.
Примеры
1. Проверяем наличие шорткода галереи
global $post; if( has_shortcode( $post->post_content, 'gallery' ) ) { // окажемся тут, если контент содержит шорткод(ы) галереи }
2. Подключаем скрипты при наличии шорткода
Суть этого примера в том, что допустим у нас какой-то супер-топовый шорткод, например галерея в виде слайдера, и для того, чтобы она корректно отобразилась, нам нужны дополнительные библиотеки JavaScript. Подключать их на каждой странице сайта допустим нет смысла.
add_action( 'wp_enqueue_scripts', 'true_shortcode_js'); function true_shortcode_js() { // инициируем глобальный объект поста global $post; if( has_shortcode( $post->post_content, 'true-super-gallery') ) { wp_enqueue_script( 'true-super-gallery'); } }
Про подключение JavaScript на страницы сайта на WordPress можете больше почитать здесь.