让 WordPress 自动生成支持自适应的土豆视频代码

  前几天小练给大家分享了生成支持自适应的优酷视频代码的方法,虽然优酷目前一家独大,而且还把土豆买了,但相信还是有很多像小练一样有土豆情结的人在的,所以今天要分享的是生成自适应土豆视频代码的方法。

  实现该功能的代码是参考了网上的一些代码,然后根据自适应的需要进行了一部分修改,详细的说明见 让 WordPress 自动生成支持自适应的优酷视频代码 一文。

  接下来是实现让 WordPress 自动生成支持自适应的土豆视频代码功能的代码,依旧是根据自己的需要修改其中的 250 和 400 到自己需要的高度,拷贝到主题的 functions.php 中即可。

// 增加土豆视频支持 by wavelpc.
function wavelpc_iframe_handler_tudou( $matches, $attr, $url, $rawattr ) {
	if( wp_is_mobile() ){ $height = 250; } else { $height = 400; }
	$iframe = '<iframe width="100%" height="'. $height .'px" src="https://www.tudou.com/programs/view/html5embed.action?code='. esc_attr($matches[1]) .'" frameborder="0" allowfullscreen></iframe>';
	return apply_filters( 'iframe_tudou', $iframe, $matches, $attr, $url, $ramattr );
}
wp_embed_unregister_handler('tudou');
wp_embed_register_handler( 'tudou_iframe', '#https://www.tudou.com/programs/view/(.*?)/#i', 'wavelpc_iframe_handler_tudou' );

  特别提示: functions.php 文件是主题核心文件,请谨慎修改。详见 编辑 WordPress 主题 functions.php 文件时的注意事项

  照例上一个小练目前使用的带提示的版本:

// 增加土豆视频支持 by wavelpc.
function wavelpc_iframe_handler_tudou( $matches, $attr, $url, $rawattr ) {
	if( wp_is_mobile() ){ $height = 250; } else { $height = 400; }
	$iframe = '<iframe width="100%" height="'. $height .'px" src="https://www.tudou.com/programs/view/html5embed.action?code='. esc_attr($matches[1]) .'" frameborder="0" allowfullscreen></iframe><br /><span style="display: block; text-align: center; color: #ccc;">(如果无法观看或比例失常,可以 <a href="https://www.tudou.com/programs/view/'. esc_attr($matches[1]) .'" target="_blank">点击这里</a> 跳转到土豆播放页面)</span>';
	return apply_filters( 'iframe_tudou', $iframe, $matches, $attr, $url, $ramattr );
}
wp_embed_unregister_handler('tudou');
wp_embed_register_handler( 'tudou_iframe', '#https://www.tudou.com/programs/view/(.*?)/#i', 'wavelpc_iframe_handler_tudou' );

  下面以《You can shine》为例,该视频的土豆播放页为 https://www.tudou.com/programs/view/_7Y2D57XnDs/ ,以下是博客引用的效果: