用视频播放器替换视频URL

时间:2013-05-06 作者:MindZ

这是我的插件,它将取代视频短码格式[video url="http://www.youtube.com/watch?v=sOnqjkJTMaA"][video] (要求是当用户在Add New of admin中放置这样的短代码时显示视频。所以我用标准格式创建了这个插件。)http://www.youtube.com/watch?v=sOnqjkJTMaA.

<?php
/*
Plugin Name: My Plugin
*/
function video_url_format()
{
    $content = get_the_content();
    $pieces = explode(\'"\', $content);
    return $pieces[1];

}
add_action(\'the_content\',\'video_url_format\');

?>
正如你所提到的,WordPress会自动显示视频播放器。但它不会显示玩家。如果我从YouTube粘贴一个标准URLhttp://www.youtube.com/watch?v=sOnqjkJTMaA, 它也不会显示视频播放器。但是如果我把这句话注释掉add_action(\'the_content\',\'video_url_format\'); 在插件中,它将显示视频播放器。所以这个问题可能与我的插件有关。请对此提出一些观点。请帮助完成它。

1 个回复
SO网友:Pat J

您编写的插件似乎有一些问题。

如上所述,WordPress具有内置功能,可以在给定URL的情况下自动嵌入特定类型的媒体,包括YouTube视频。看见the Codex page on Embeds. 因此,您的插件可能不是必需的,至少对于YouTube嵌入来说是这样

  • the_content 是一个filter hook, 不是一个action hook. 所以通常你会使用add_filter() 过滤帖子内容return是个变量,但是add_action() 忽略您的return -- according to the Codex, add_action() always returns true.
  • Actions 通常是echo() 内容到屏幕(很好,响应缓冲区)或修改变量;Filters 通常接受一个或多个变量,并返回该变量的(可能已修改)版本。看见this question 深入了解差异。

    结束

    相关推荐

    Updating URLs in many posts

    我将我的WP内容复制到另一台服务器上的新安装中,因此现在我上载的PDF文档具有旧的URL。有没有一种简单的方法可以在我所有的帖子中一次解决这个问题,也许可以使用SQL或一些插件?