has_header_video()WP 4.7.0

Проверяет загружено ли видео для заголовка в настройках темы (кастомайзере).

Возможность добавлять видео заголовка темы появилась в версии 4.7. Активируется она с помощью add_theme_support( 'custom-header' );

Эта функция проверяет только лишь наличие загруженного видео, но не проверят должно ли это видео показываться на просматриваемой странице. По умолчанию видео заголовка показывается только на главной, а на остальных страницах показывается картинка заголовка. Сделано так по понятным причинам: незачем на каждой странице сайта подгружать видео в заголовке, потому что такое видео создается в первую очередь для впечатления от сайта и негативно сказывается на скорости загрузки страницы. И оно будет раздражать пользователей, если будет везде...

За то на какой странице показывается видео отвечает условные тег is_header_video_active(). Использовать эту функцию логично с ним в связке:

## проверим есть ли видео заголовка и оно должно показываться на текущей странице.
if( has_header_video() && is_header_video_active() ){
	// получим ссылку на видео
	$videourl = get_header_video_url();
}

Используйте has_header_image(), когда нужно сделать такую же проверку, но только для картинки заголовка.

Используйте has_custom_header(), когда нужно проверить одновременно наличие видео или картинки для заголовка.

Работает на основе: get_header_video_url()
Основа для: has_custom_header()
1 раз — 0.000058 сек (очень быстро) | 50000 раз — 0.70 сек (очень быстро) | PHP 7.1.1, WP 4.7.1

Хуков нет.

Возвращает

true|false. Есть видео или нет.

Использование

if( has_header_video() ){
	// видео загружено
}

Альтернатива сразу с получением URL видео:

if( $url = get_header_video_url() ){
	echo $url;
}

Примеры

0

#1 Выведем видео заголовка

Проверим есть ли видео заголовка и должно ли оно выводиться на текущей странице. Если все ОК, то показываем плеер с проигрываемым видео.

## проверим есть ли видео заголовка и оно должно показываться на текущей странице.
if( has_header_video() && is_header_video_active() ){
	the_custom_header_markup();
}

В результате в месте этого кода появится HTML код видео плеера, и на страницу (в конце) будут подключены нужные для плеера скрипты:

<div id="wp-custom-header" class="wp-custom-header">
	<video id="wp-custom-header-video" autoplay="" loop="" width="954" height="1300" src="http://example.com/wp-content/uploads/2017/01/polina.mp4"></video>
	<button type="button" id="wp-custom-header-video-button" class="wp-custom-header-video-button wp-custom-header-video-play">Пауза</button>
</div>

Скрипты в подвале:

<script type='text/javascript' src='http://example.com/wp-includes/js/wp-custom-header.min.js'></script>

<script type='text/javascript' src='http://example.com/wp-includes/js/mediaelement/mediaelement-and-player.min.js'></script>

<script type='text/javascript' src='http://example.com/wp-includes/js/mediaelement/wp-mediaelement.min.js'></script>

Заметки

Список изменений

С версии 4.7.0 Введена.

Код has_header_video() WP 6.5.2

function has_header_video() {
	return (bool) get_header_video_url();
}