has_shortcode()

Функция позволяет определить, содержит ли переданная в неё строка определённый шорткод и возвращает 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 можете больше почитать здесь.

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.

Миша Рудрастых и WordPress

Полезности из мира WordPress и жизни студии.

Мой телеграм-канал