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

标签 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,但这就是我现在想要在这里做的。

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

谢谢

最佳答案

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

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

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

显然,如果您以后在页面上添加了更多iframe,并且该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类中,如果存在,则将其忽略。

关于php - 如何将我在wordpress帖子上拥有的每个youtube链接转换为嵌入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27251507/

相关文章:

php - jquery - 如何使用通过 AJAX 从 MySQL 和 PHP 检索的数据将图像添加到 Select2 下拉列表中?

javascript - jQuery 数据表单元格不更新

javascript - 如何在悬停时显示图像标题文本?

使用 Woocommerce 的 mySQL 查询 - 歧义列

php - 如何在主题 functions.php 中定义和使用辅助函数?

php - 根据先前的选择填充下拉列表

php - Zend 查询大于或等于

php - 如何插入多条记录

php - FFMPEG 的裁剪视频质量很差

javascript - 在动态元素上添加类