Wordpress升级到2.1之后出现一个问题,在编辑页面出现“tinyMCE未定义”的错误。导致可视化编辑框丢失。
查阅了Wordpress的文档,产生这个问题的原因是WP的gzip压缩功能会强迫tinyMCE使用压缩传送文章,这可能会导致tinyMCE错误。
一个可行的修正办法是修改"wp-includes/js/tinymce/tiny\_mce\_gzip.php":
找到 if ((in_array('gzip', $encodings) || in_array('x-gzip', $encodings) || isset($_SERVER['---------------'])) && function_exists('ob_gzhandler') && !ini_get('zlib.output_compression')) {
修改为: if ((in_array('gzip', $encodings) || in_array('x-gzip', $encodings) || isset($_SERVER['---------------'])) && function_exists('ob_gzhandler') && !ini_get('zlib.output_compression') && get_settings('gzipcompression')) {
然后刷新页面,可视化编辑框又出来了。
对有服务器shell权限的管理员来说,另一个比较简便的方法是应用下面补丁。
把补丁文件上传到wp-includes/js/tinymce/tiny\_mce\_gzip.php目录,Unix或linux命令行输入:
`cd wordpress/wp-includes/js/tinymce
patch -p0 < 3144-gzipoptoins-tinymce.patch`