函数文档

get_header_video_settings()

💡 云策文档标注

概述

get_header_video_settings() 函数用于检索自定义头部视频的设置,返回一个包含视频URL、类型、尺寸等信息的数组。该函数通过获取头部数据、视频URL和文件类型来构建设置数组,并支持通过过滤器进行自定义。

关键要点

  • 函数返回一个数组,包含 mimeType、posterUrl、videoUrl、width、height、minWidth、minHeight 和 l10n 等键值。
  • 自动检测视频类型:如果是 YouTube 链接,设置 mimeType 为 'video/x-youtube';否则使用 wp_check_filetype() 检测。
  • 提供了 apply_filters('header_video_settings', $settings) 钩子,允许开发者过滤设置数组。
  • 依赖于 get_custom_header()、get_header_video_url()、get_header_image() 等辅助函数来获取相关数据。

代码示例

$settings = get_header_video_settings();
// 示例输出数组结构
print_r($settings);

注意事项

  • 函数自 WordPress 4.7.0 版本引入,使用时需确保版本兼容性。
  • 视频尺寸基于自定义头部设置,minWidth 和 minHeight 有默认值(900 和 500),可通过过滤器调整。
  • l10n 数组包含本地化的播放控制文本,支持多语言翻译。

📄 原文内容

Retrieves header video settings.

Return

array

Source

function get_header_video_settings() {
	$header     = get_custom_header();
	$video_url  = get_header_video_url();
	$video_type = wp_check_filetype( $video_url, wp_get_mime_types() );

	$settings = array(
		'mimeType'  => '',
		'posterUrl' => get_header_image(),
		'videoUrl'  => $video_url,
		'width'     => absint( $header->width ),
		'height'    => absint( $header->height ),
		'minWidth'  => 900,
		'minHeight' => 500,
		'l10n'      => array(
			'pause'      => __( 'Pause' ),
			'play'       => __( 'Play' ),
			'pauseSpeak' => __( 'Video is paused.' ),
			'playSpeak'  => __( 'Video is playing.' ),
		),
	);

	if ( preg_match( '#^https?://(?:www.)?(?:youtube.com/watch|youtu.be/)#', $video_url ) ) {
		$settings['mimeType'] = 'video/x-youtube';
	} elseif ( ! empty( $video_type['type'] ) ) {
		$settings['mimeType'] = $video_type['type'];
	}

	/**
	 * Filters header video settings.
	 *
	 * @since 4.7.0
	 *
	 * @param array $settings An array of header video settings.
	 */
	return apply_filters( 'header_video_settings', $settings );
}

Hooks

apply_filters( ‘header_video_settings’, array $settings )

Filters header video settings.

Changelog

Version Description
4.7.0 Introduced.