has_header_video()
Проверяет загружено ли видео для заголовка в настройках темы (кастомайзере).
Возможность добавлять видео заголовка темы появилась в версии 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(), когда нужно проверить одновременно наличие видео или картинки для заголовка.
Хуков нет.
Возвращает
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://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>
Заметки
- Смотрите: get_header_video_url()
Список изменений
С версии 4.7.0 | Введена. |
Код has_header_video() has header video WP 6.5.2
function has_header_video() { return (bool) get_header_video_url(); }