我爱水煮鱼 » WordPress » 使用 WordPress 的 Embed 功能快速插入土豆视频

使用 WordPress 的 Embed 功能快速插入土豆视频

在 Wor dPress 2.9 中新增的 Easy Embeds 的功能,它能让你通过直接发布一个 URL(需要单独一行,纯文本,不带链接才行),就能把这个 URL 中的视频显示到 WordPress 博客上,并且会根据博客的布局调整视频的大小。

但是 WordPress 默认不支持国内的土豆这个视频分享网站,我根据 WordPress 的 Embeds 接口制作了下面的插件,让你的 WordPress 博客通过一行链接就能发布土豆的视频,而无需去查找土豆的复杂而麻烦的 flash 嵌入代码。

function wp_embed_handler_tudou( $matches, $attr, $url, $rawattr ) {
    // If the user supplied a fixed width AND height, use it
    if ( !empty($rawattr['width']) && !empty($rawattr['height']) ) {
        $width  = (int) $rawattr['width'];
        $height = (int) $rawattr['height'];
    } else {
        list( $width, $height ) = wp_expand_dimensions( 420, 363, $attr['width'], $attr['height'] );
    }
 
    return apply_filters( 'embed_tudou', '<object width="' . esc_attr($width) . '" height="' . esc_attr($height) . '"><param name="movie" value="http://www.tudou.com/v/' . esc_attr($matches[1]) . '"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><param name="wmode" value="opaque"></param><embed src="http://www.tudou.com/v/' . esc_attr($matches[1]) . '" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="opaque" width="' . esc_attr($width) . '" height="' . esc_attr($height) . '"></embed></object>', $matches, $attr, $url, $rawattr );
 
}
 
wp_embed_register_handler( 'tudou', '#http://www.tudou.com/programs/view/(.*?)/#i', 'wp_embed_handler_tudou' );

把上面这段代码放到当前主题的 functions.php 文件中,或者添加一个插件头,上传到插件目录下,激活即可。

安装好之后,你只需要把土豆视频的链接直接贴入到 WordPress 日志内容中即可显示视频,假设其中 XXXXXXX 是视频的 ID,那么插入方法是:

http://www.tudou.com/programs/view/XXXXXXX/

或者

[ embed]http://www.tudou.com/programs/view/XXXXXXX/[/embed]

标签:

分享到:

26 条评论 添加你的评论 →

  • lukas 2010-04-25 09:18:15 #

    感谢分享

    支持 反对

  • shtion 2010-04-25 20:33:38 #

    Youku 可以直接嵌入吗?WP支持youku吗?

    支持 反对

  • kingbull 2010-04-26 04:59:03 #

    Hi Dennis, 借题问个问题啊:我放大了字体,也放大了搜索框,但是无论我怎么搞搜索框内的字体不居中,无论我怎么调字体大小搜索框高度,老是顶着搜索框上沿,和下沿有一定的距离……自己‘研究’了几天,谷啊百啊自己不行,能否教我一下啊?万分感谢!

    支持 反对

    • kingbull 2010-04-26 05:02:47 #

      顺便说下google chrome下可以,ie 和 firefox 不行~chrome好像很多情况下自己可以调~刚才太急拼错了,Denis而不是Dennis,不好意思啊!

      支持 反对

    • kingbull 2010-04-26 11:41:00 #

      hoho搞定了搞定了,不好意思啊,把我这些留言都删了吧,对不起对不起啊。。。。

      支持1 反对

  • feicun 2010-04-26 12:52:46 #

    我仿造你这个把自动嵌入虾米播放器的代码写出来了,不知道denis是打算把这几段代码整合成插件吗? PS. 你推特帐号被封了?

    支持 反对1

  • jay7th 2010-06-05 13:44:01 #

    开启插件后,与 FEED 输出冲突。
    XML解析错误:xml处理指令不在实体的开始部分
    位置:http://localhost/?feed=rss
    行:2,列:1:

    支持 反对

  • jay7th 2010-06-05 14:17:33 #

    解决了,是 feicun 提供的插件编码方式有问题。
    导致页面多出来一行空格

    支持 反对

  • everpg.com 2011-02-06 01:21:51 #

    恩。 水煮鱼,我使用上面的代码也做了同样类似的插件,原因就是原来提供的插件没有的下载了,现在放在我的网站上共享。请求下你的同意啊

    支持 反对

  • 黑黑 2011-08-22 14:03:47 #

    哈,不错~

    支持 反对

发表评论

你必须 登陆 之后才能留言。你可以使用以下方式快速登陆我爱水煮鱼:

使用新浪微博登陆 使用腾讯微博登陆 使用豆瓣登陆

你也可选择直接在本站 注册