YouTube iframe嵌入处理程序回调。

原型

wp_embed_handler_youtube( array $matches, array $attr, string $url, array $rawattr )

描述

捕获YouTube iframe嵌入了oEmbed无法解析但可以转换为URL的URL。

参数

$matches (array) (Required) 调用wp_embed_register_handler()时,RegEx与提供的正则表达式匹配。

$attr (array) (Required) 嵌入属性。

$url (string) (Required) 正则表达式匹配的原始URL。

$rawattr (array) (Required) 原始未修改的属性。

返回值

(string)  嵌入HTML。

源文件

路径:wp-includes/embed.php

<?php
...
function wp_embed_handler_youtube( $matches, $attr, $url, $rawattr ) {
	global $wp_embed;
	$embed = $wp_embed->autoembed( sprintf( "https://youtube.com/watch?v=%s", urlencode( $matches[2] ) ) );
	/**
	 * Filters the YoutTube embed output.
	 *
	 * @since 4.0.0
	 *
	 * @see wp_embed_handler_youtube()
	 *
	 * @param string $embed   YouTube embed output.
	 * @param array  $attr    An array of embed attributes.
	 * @param string $url     The original URL that was matched by the regex.
	 * @param array  $rawattr The original unmodified attributes.
	 */
	return apply_filters( 'wp_embed_handler_youtube', $embed, $attr, $url, $rawattr );
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/wp_embed_handler_youtube/