WordPress как на ладони
Наставник Трепачёв Д.П., phphtml.net wordpress jino

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(), когда нужно проверить одновременно наличие видео или картинки для заголовка.

Используется в: has_custom_header().
Работает на основе: get_header_video_url()
✈ 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;
}

Примеры

#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://wptest.ru/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://site.ru/wp-includes/js/wp-custom-header.min.js'></script>

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

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

Код has header video: wp-includes/theme.php WP 4.8.1

<?php
function has_header_video() {
	return (bool) get_header_video_url();
}

Cвязанные функции

Из метки: custom_header (настройки шапки темы: видео, картинка)

Еще из раздела: Другие функции темы

has_header_video Комментариев нет

Здравствуйте, !

Ваш комментарий