如何将我在WordPress帖子中的每个YouTube链接转换为嵌入


how to convert every youtube link i have on my wordpress posts into embed?

我正在使用最新版本的WordPress,我现在在我的网站上有大约10000个帖子。

我有一个很好的插件,让我的网站看起来更漂亮一些,但我需要为每个特色图像和我帖子中的每个嵌入式 YouTube 视频添加一个简单的代码(如果我可以选择添加它的用户,那就完美了!

我知道YouTube嵌入代码是

<iframe width="560" height="315" src="//www.youtube.com/embed/NrH9CqnzzRU?list=PLHPcpp4e3JVpXbtgyD-k-nCmwpbbMIHOh" frameborder="0" allowfullscreen></iframe>    

我需要做的是添加

<div class="featuredvideo"><iframe width="560" height="315" src="//xxxxxxxxxxxxxxxxxxxxxxxxx" frameborder="0" allowfullscreen></iframe></div>    

所以我想在"XXXX"之前和之后添加这些东西

我不是程序员,所以请给我代码

我知道 AJAX 可以使用类似的代码搜索整个文件夹

<button>AJAX</button>
<br>
<div id = "container"></div>
<script type="text/javascript">
$("button").click(function(){
    $.get("sample.html",function(data){
    $("#container").html(data);
    })
});    

它只会从文件中获取 HTML,但现在这就是我想在这里做的。

请帮助我,给我一个插件或代码来工作

谢谢

要根据需要将 Youtube iframe 与div 包装在一起,只需使用这个...

$(function() {
    $("iframe[src*=www.youtube.com]").wrap("<div class='"featuredvideo'" />");
});

这将在文档完成加载时运行。 它将在 src 属性中找到所有带有字符串www.youtube.com的 iframe,并将它们包装在所需的div 中。

显然,如果您稍后向页面添加更多 iframe 并且它没有重新加载,那么您将需要再次运行该代码。 如果你这样做,那么它会再次将 iframe 包装在div 中,这将是错误的。 这将处理多次运行代码...

function wrapYoutubeEmbeds() {
    $("iframe[src*=www.youtube.com]").each(function() {
        if (!$(this).parent().hasClass("featuredvideo")) {
            $(this).wrap("<div class='"featuredvideo'" />");
        }
    });
}
$(function() {
    wrapYoutubeEmbeds();
});

它只是检查每个 iframe 是否在类featuredvideo的内容中,如果是,则忽略它。