Функция is_header_video_active()
проверяет, должно ли видео в заголовке (header video) отображаться на текущей странице. Она возвращает true
, если видео нужно показать, и false
, если не нужно.
is_header_video_active(): bool
Возвращаемое значение
- bool —
true
, если видео заголовка должно отображаться на текущей странице, иfalse
, если не должно.
Описание
С версии 4.7 в WordPress появилась возможность устанавливать видео в заголовке сайта, что позволяет привлечь больше внимания к странице. Видео может быть полезным элементом для улучшения визуального восприятия сайта.
Функция is_header_video_active()
не проверяет, установлено ли видео в заголовке (для этого используется функция has_header_video()
), а лишь проверяет, нужно ли его показывать на текущей странице. Обычно видео заголовка показывается только на главной странице сайта (см. is_front_page()
).
Пример включения поддержки видео для заголовка
Чтобы включить поддержку видео в заголовке в вашей теме, необходимо добавить соответствующую настройку в functions.php
вашей темы:
add_theme_support( 'custom-header', array(
'video' => true,
) );
Настройка параметра отображения видео
По умолчанию функция проверяет, является ли текущая страница главной с помощью функции is_front_page()
. Однако вы можете изменить это поведение с помощью параметра video-active-callback
при регистрации заголовка:
add_theme_support( 'custom-header', array(
'video' => true,
'video-active-callback' => 'is_home',
));
В данном примере видео заголовка будет отображаться только на домашней странице (см. is_home()
).
Пример использования
Функция полезна в тех случаях, когда нужно проверить, должно ли видео заголовка отображаться на конкретной странице. Это можно сделать с помощью следующего кода:
if ( has_header_video() && is_header_video_active() ) {
the_custom_header_markup();
}
Этот код проверяет, установлено ли видео заголовка и должно ли оно отображаться на текущей странице. Если оба условия выполняются, то с помощью функции the_custom_header_markup()
выводится HTML разметка для видео плеера.
Пример использования фильтра is_header_video_active
С помощью фильтра is_header_video_active
можно переопределить логику отображения видео заголовка на сайте. Например, вы хотите, чтобы видео отображалось только на странице «О нас»:
add_filter( 'is_header_video_active', 'my_is_header_video_active' );
function my_is_header_video_active( $show_video ) {
if ( is_page( 'about' ) ) {
$show_video = true;
} else {
$show_video = false;
}
return $show_video;
}
В этом примере видео заголовка будет отображаться только на странице с ярлыком «about», а на всех остальных страницах оно будет отключено.
Полный пример: Вывод видео заголовка
Ниже приведен пример полного кода, который проверяет, есть ли видео заголовка, и выводит его на страницу:
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="1024" height="800" src="http://example.com/wp-content/uploads/2024/10/video.mp4"></video>
<button type="button" id="wp-custom-header-video-button" class="wp-custom-header-video-button wp-custom-header-video-play">Пауза</button>
</div>
Заключение
Функция is_header_video_active()
позволяет легко управлять отображением видео заголовка на разных страницах сайта. С ее помощью можно контролировать, когда и где на сайте будет показываться видео.