WordPress升级3.4报错的解决


在6月发布的WP3.4版本中,WP中文团队对视频嵌入方式做了修改。以致于主题自带的视频短代码和WP的视频自动嵌入几乎一模一样,引起了冲突。

这个问题是wp-content\languages\zh_CN.php 这个文件所导致的问题,我们可以尝试修改自己的短代码,但因为WP自带的视频嵌入优先级更高使得我们没办法通过修改主题短代码的方式来解决。

除非舍弃掉的插入方式,但是这样会造成2个问题:

1、需要用户手动修改所有插入过视频的文章,会很繁琐

2、如果以后更换主题,插入的视频将不可用。

所以最终我们建议用户使用以下办法手动解决,这样也不会出现上面所说的2个问题。

1、在你的FTP中找到wp-content\languages\里的zh_CN.php文件,下载并且打开他。

2、搜索以下内容:

function wp_embed_handler_youku( $matches, $attr, $url, $rawattr ) {
$embed=sprintf(
'<embed src=http://player.youku.com/player.php/sid/%1$s/v.swf allowFullScreen=true quality=high  width=480 height=400 align=middle allowScriptAccess=always type=application/x-shockwave-flash></embed>',
esc_attr( $matches['video_id'] ) );

return apply_filters( 'embed_youku', $embed, $matches, $attr, $url, $rawattr );
}
wp_embed_register_handler( 'youku',
'#https?://v\.youku\.com/v_show/id_(?<video_id>[a-z0-9_=\-]+)#i',
'wp_embed_handler_youku' );

3、将刚才找到的内容替换为:

/*function wp_embed_handler_youku( $matches, $attr, $url, $rawattr ) {
$embed =sprintf(
'<embed src=http://player.youku.com/player.php/sid/%1$s/v.swf allowFullScreen=true quality=high width=480 height=400 align=middle allowScriptAccess=always type=application/x-shockwave-flash></embed>',
esc_attr( $matches['video_id'] ) );

return apply_filters( 'embed_youku', $embed, $matches, $attr, $url, $rawattr );
}
wp_embed_register_handler( 'youku',
'#https?://v\.youku\.com/v_show/id_(?<video_id>[a-z0-9_=\-]+)#i',
'wp_embed_handler_youku' );*/

4、搜索以下内容:

function wp_embed_handler_tudou( $matches, $attr, $url, $rawattr ) {
$embed = sprintf(
'<embed src=http://www.tudou.com/v/%1$s/&amp;amp;resourceId=0_05_05_99&amp;amp;bid=05/v.swf type=application/x-shockwave-flash allowscriptaccess=always allowfullscreen=true wmode=opaque width=480 height=400></embed>',
esc_attr( $matches['video_id'] ) );

return apply_filters( 'embed_tudou', $embed, $matches, $attr, $url, $rawattr );
}
wp_embed_register_handler( 'tudou',
'#https?://(?:www\.)?tudou\.com/(?:programs/view|listplay/(?<list_id>[a-z0-9_=\-]+))/(?<video_id>[a-z0-9_=\-]+)#i',
'wp_embed_handler_tudou' );

5、替换为:

/*function wp_embed_handler_tudou( $matches, $attr, $url, $rawattr ) {
$embed = sprintf(
'<embed src=http://www.tudou.com/v/%1$s/&amp;amp;resourceId=0_05_05_99&amp;amp;bid=05/v.swf type=application/x-shockwave-flash allowscriptaccess=always allowfullscreen=true wmode=opaque width=480 height=400></embed>',
esc_attr( $matches['video_id'] ) );

return apply_filters( 'embed_tudou', $embed, $matches, $attr, $url, $rawattr );
}
wp_embed_register_handler( 'tudou',
'#https?://(?:www\.)?tudou\.com/(?:programs/view|listplay/(?<list_id>[a-z0-9_=\-]+))/(?<video_id>[a-z0-9_=\-]+)#i',
'wp_embed_handler_tudou' );*/

4、保存文件,并且使用FTP将其上传到wp-content\languages\中。覆盖相同的文件。

5、解决。

注:以上过程是注释掉了WP中文版本自带的嵌入功能,而使用主题自带的嵌入视频功能。

如果以后你更换主题,而新的主题并没有自带的嵌入方式, 可你仍想保留视频的显示,那么还原以上操作即可。

声明:YunHe.ME | 云和の小屋|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - WordPress升级3.4报错的解决


想我所愿,勇往直前,不畏艰险,有远大志向