如何将我在wordpress帖子上的每个youtube链接转换为嵌入?

时间:2014-12-02 14:12:51

标签: php jquery wordpress replace youtube

我正在使用最新版本的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,但现在我想在这里做。

请帮助我,给我一个插件或代码来使用

谢谢

1 个答案:

答案 0 :(得分:0)

要根据需要使用div包装Youtube iframe,只需使用此...

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

文档加载完成后会运行。它将在www.youtube.com属性中找到包含字符串src的所有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的内部,如果是,则忽略它。