YouTube embed parameters?

时间:2016-12-22 作者:Jake Wilson

据此:https://codex.wordpress.org/Embeds

您只需将YouTube链接粘贴到帖子正文中,它就会成为嵌入的YouTube视频。这对我来说是可行的,但它似乎忽略了我通过YouTube链接传递的任何参数。例如,如果粘贴:

https://www.youtube.com/watch?v=XYZ12345&rel=0
生成的HTML为:

<iframe width="500" height="281" src="https://www.youtube.com/embed/XYZ12345?feature=oembed" frameborder="0" allowfullscreen=""></iframe>
如您所见&rel=0 生成的嵌入html中缺少参数。是否有将参数传递给嵌入的技巧?

1 个回复
SO网友:Ismail

总有一个过滤器可以用来连接到输出中,请参见embed_oembed_html. 在自定义插件或子主题的函数文件中尝试此操作,它将向iframe src 属性:

add_filter("embed_oembed_html", function( $html, $url, $attr ) { 
    parse_str(parse_url($url, PHP_URL_QUERY), $url);
    if ( $url ) {
        foreach ( $url as $q=>$v ) {
            preg_match(\'/src="([^"]+)"/\', $html, $src);
            if ( isset( $src[1] ) ) {
                $html = str_replace(
                    $src[1],
                    add_query_arg( array( $q=>$v ), $src[1] ),
                    $html
                );
            }
        }
    }
    return $html;
}, 10, 3);
确保没有不想添加到的查询字符串iframe src 用一个continue; 消息灵通的

希望这有帮助。

相关推荐

修改YouTube嵌入代码以适应主题

我正在使用一个自定义引导模板,其他用户将嵌入youtube视频,我希望这些视频能够响应主题。我该怎么做才能让普通的YouTube嵌入代码,比如:<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/2jna3dWEnzo\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-pic