Blog

快速插入优酷视频改为 iframe 方式兼容移动设备

现在的 WordPress 中文版内置了“使用 WordPress 的 Embed 功能快速插入优酷视频”的功能:只要在写文章时,独占一行粘贴优酷视频地址就可以自动调用次视频。

例如:我在下一行独占一行插入 http://v.youku.com/v_show/id_XNTgxNzI3MDcy.html 这个优酷视频地址,就可以自动调用优酷视频了。

(顺便看看《晓说》吧,还是有点意思)

但是这是用 Embed 的,PC端没问题,手机浏览器因为不支持 Flash 所以是无法显示和播放视频的,而现在提供的 iframe 方式插入的视频就支持手机。

下面说说如何实现:

『使用 WordPress 的 Embed 功能快速插入优酷视频』改为以 iframe 方式调用的方法

有点绕口,囧。其实很简单
1. 确定所用 WordPress 是中文版(好像其他语言版本也行,如果有错误提示就把 wp_embed_unregister_handler( 'youku' ); 删除即可)
2. 就是把下面的代码扔进所用主题的 functions.php 里面(注意:代码要放在 <?php ?> 里面)

/**
 * 『使用 WordPress 的 Embed 功能快速插入优酷视频』改为以 iframe 方式调用
 *  by zwwooooo | zww.me
*/
// 移除原来 WordPress 中文版内置的“使用 WordPress 的 Embed 功能快速插入优酷视频”
wp_embed_unregister_handler( 'youku' );
// 改用 iframe 方式
function wp_iframe_handler_youku( $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( 480, 400, $attr['width'], $attr['height'] );
	}
	$iframe = '<iframe width='. esc_attr($width) .' height='. esc_attr($height) .' src="http://player.youku.com/embed/'. esc_attr($matches[1]) .'" frameborder=0 allowfullscreen></iframe>';
	return apply_filters( 'iframe_youku', $iframe, $matches, $attr, $url, $ramattr );
}
wp_embed_register_handler( 'youku_iframe', '#http://v.youku.com/v_show/id_(.*?).html#i', 'wp_iframe_handler_youku' );

PS:其他视频网站可以照葫芦画瓢改下代码就行了。

最近好忙啊,也爽!

撤~洗澡睡觉去~

zww
or
oooo

声明: 除非注明,ZWWoOoOo文章均为原创,转载请以链接形式标明本文地址
本文地址: http://zww.me/wordpress-embed-youku-iframe.z-turn

59 comments

  1. 老杨 老杨 Firefox 22 Firefox 22 Windows 7 Windows 7

    啊哈

    沙发
  2. 热血洒红尘 热血洒红尘 Google Chrome 28 Google Chrome 28 Windows XP Windows XP

    赞一个

    板凳
  3. 一堵墙 一堵墙 Google Chrome 29 Google Chrome 29 Windows 7 Windows 7

    然后手机看的时候就会变成 HTML5 版本?

    地板
  4. ......
  5. 软件小品 软件小品 Google Chrome 28 Google Chrome 28 Windows 8 Windows 8

    iframe方式不能被收录

    21楼
  6. 我的名字叫麒 我的名字叫麒 Google Chrome 28 Google Chrome 28 Windows 7 Windows 7

    iframe 这个似乎是不推荐的

    22楼
  7. Normal Normal Sogou Explorer Sogou Explorer Windows 7 Windows 7

    其实用anyplayer这个插件更方便

    23楼
  8. 折子戏 折子戏 Google Chrome 28 Google Chrome 28 Windows XP Windows XP

    这么厉害,似乎不错的样子,不过我博客视频就少了,音频到是挺多,暂时够用!MAKE,随时回来取精!

    24楼
  9. 九九乘法口诀表 九九乘法口诀表 Google Chrome 29 Google Chrome 29 Windows XP Windows XP

    视乎不错哦,哈哈哈···

    25楼
  10. 伊人简阅网 伊人简阅网 Sogou Explorer Sogou Explorer Windows 8 Windows 8

    学会了 :mrgreen:

    26楼
  11. bbis bbis Google Chrome 28 Google Chrome 28 Windows 7 Windows 7

    那是不是说改改代码,就可以直接应用到百度网盘的绝对连接地址上

    27楼
    • zwwooooo zwwooooo Firefox 22 Firefox 22 Windows 8 Windows 8

      @bbis
      其实这段代码就是从url获取id,然后套用格式而已,具体应用就看你了。

  12. kn007 kn007 Google Chrome 28 Google Chrome 28 Windows 7 Windows 7

    不错,学习了。。。

    28楼
  13. ShunYea ShunYea Firefox 22 Firefox 22 Windows 7 Windows 7

    我的是wp3.5.2版,自己写的主题,为啥测试无效啊?还是原来默认的发一个连接就自动加载Embed方式。

    29楼
    • zwwooooo zwwooooo Firefox 22 Firefox 22 Windows 8 Windows 8

      @ShunYea
      WordPress 3.x 中文版内置。

    • ShunYea ShunYea Firefox 23 Firefox 23 Windows 7 Windows 7

      @zwwooooo
      没听懂,内置就是说不需要你上面那些代码吗?我试过直接粘优酷视频,PC是OK的,但是手机仍然不支持……求教

    • zwwooooo zwwooooo Firefox 23 Firefox 23 Windows 8 Windows 8

      @ShunYea
      内置的是 Embed 方式。

  14. 欲思博客 欲思博客 Google Chrome 31 Google Chrome 31 Windows 7 Windows 7

    如果能屏蔽广告就好了。

    31楼

Leave a Reply