is_header_video_active()
Проверяет нужно ли показать имеющееся видео заголовка на текущей странице. Условный тег.
С версии 4.7 появилась возможно устанавливать видео заголовка, в дополнении к картинке заголовка. Видео позволяет привлечь больше внимания и оставляет большее впечатление о сайте.
Эта функция отвечает за проверку на какой странице показывать такое видео. Такое видео по умолчанию показывается только на главной странице сайта см. is_front_page().
Функция вернет false если поддержка видео не включена, включается она так в functions.php темы:
get_theme_support( 'custom-header', array('video'=>true) );
Имейте ввиду, что эта функция не проверяет установлено ли видео заголовка, а проверят нужно ли его показывать. Чтобы проверить установлено ли видео заголовка используйте has_header_video()
Изменение проверки
Эта функция является оберткой для функции указанной в параметре video-active-callback, при регистрации поддержки add_theme_support('custom-header'). Допустим, при регистрации видео заголовка мы указали параметры так:
add_theme_support( 'custom-header', array( 'video' => true, 'video-active-callback' => 'is_home', ));
Тогда работа этой функции будет передаваться is_home() и то что вернет она вернет и эта функция.
Однако это поведение можно перебить через хук is_header_video_active. Через этот хук мы можем переопределить проверку и то что вернет эта функция. Например так:
add_filter( 'is_header_video_active', 'my_is_header_video_active' ); function my_is_header_video_active( $show_video ){ // Разрешим показ видео заголовка только на странице 'about' if( is_page('about') ) $show_video = true; else $show_video = false; return $show_video; }
И теперь is_header_video_active() будет всегда возвращать true на странице /about и false на всех остальных страницах. И не важно что установлено в параметре video-active-callback.
Хуки из функции
Возвращает
true|false
. true - если видео должно показываться не текущей странице. false - в противном случае.
Использование
if( has_header_video() && is_header_video_active() ){ // ... }
Примеры
#1 Выведем видео заголовка
Проверим есть ли видео заголовка и должно ли оно выводиться на текущей странице. Если все ОК, то показываем плеер с проигрываемым видео.
## проверим есть ли видео заголовка и оно должно показываться на текущей странице. if( has_header_video() && is_header_video_active() ){ the_custom_header_markup(); // url на видео - get_header_video_url() }
В результате в месте этого кода появится 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 | Введена. |