忙了几天,晕头转向,有几天都要弄到凌晨两点才愿意去睡,明明已经超困了,但是看到那些该死的问题和错误,我实在是放不下心去睡觉啊。各位别介意, 忍不住发几句牢骚,马上转入正题吧。这几天让我困扰的东西就是wordpress这博客神器了。我以前写过wordpress相关的文章,但不深入,只是 比较浅显的东西,因为那个时候我研究比较多的是dedecms,现在我就给大家总结一下我这几天碰到的一些问题和解决方法。搭建服务器、安装wordpress之类的基础东西我就不再重复赘述了,大家可以看看之前写的文章,叫《身为站长的我分享给新人的一些经验》。今天我要讲的东西是比之前深入一点的,可能大家已经碰到或者以后将会碰到的问题。
1、主题模板问题
相信99%的站长使用wordpress必定是用模板的,而不是自己开发的,因为wordpress身为国外最知名的cms,拥有无数的粉丝和用户 者,自然资源群是非常庞大的,各类插件和主题数不胜数,在国内也渐渐变得十分的流行。不过很重要的一点是,许多模板都是抄袭后稍作修改的盗版作品,这类作 品最大的缺陷是,一次性。何为一次性呢就是只有一个版本,不再更新,因为它是抄袭的,完全没必要跟着原版去更新。这类主题因为长期不更新,很容易存在bug,大家可以打开 wp_config.php这个wordpress配置文件,找到里面的一行代码,叫 define(WP_DEBUG,false),把其中的false参数改成true。这个是主题开发者常用的功能,开启后,登陆wordpress,会出现debug反馈,你可以看看你 的主题文件是否有问题。通常问题都出在xxx_options.php这个文件。此文件是主题在wordpress后台的设置页面,目的是方便新手站长设 置网站,但是很多偷盗者抄袭的主题,这里都会有问题,而这个问题导致的直接结果就是在wordpress后台处理完操作项返回空页面。如果debug反馈的信息中,包含xxx_options.php和wordpress本身的pluggable.php,那么问题就出在 xxx_options.php这个文件的编码问题。wordpress的后台php文件的默认编码是ANSI,而作者开发的主题通常是UTF-8,这没 有问题,问题在于部分主题是带BOM的UTF-8,就是带签名的,比普通的UTF-8在文件头部多了几个看不见的16进制。解决的办法是,用 UltraEdit打开文件,另存为无BOM的UTF-8即可。大家可以多利用define(WP_DEBUG,true)这个功能去解决平常碰到的一些问题,遇到解决不了的记得用搜索引擎去找答案。
2、主题里的functions.php
我不知道这个是通病还是某些主题作者比较恶心人,如果你在ftp里直接覆盖修改过的functions.php,结果是两个文件里的内容合并,而不 是覆盖。另外,在你切换主题的时候,这类恶心的主题也会把其他主题的functions通通合并到它的functions.php下,这样会导致某些功能 函数冲突,导致wordpress后台和网站前台都打不开,即便打开了也很慢,严重的还会导致服务器崩溃。所以大家最好要注意functions.php 这个文件的使用,在ftp上修改的时候,最好删掉之后重新上传,而不要直接覆盖。
3、插件与新版本的wordpress兼容问题
当你打开define(WP_DEBUG,true)后,你会很容易看到,wordpress提醒你,在2.X以后的版本,wordpress修改了很多地方,在头部信息返回的问题上与之前的版本 有较大差异,长期不更新的插件可能会出现兼容性问题,这个时候,你要做的就是按照debug提示修改插件里的文件。例如Delete-Revision这 个好用的插件因为作者已经停止更新了,所以在兼容性上有点问题,你要把add_options_page(Delete-Revision,Delete-Revision,8, basename(__FILE__),my_options_delete_revision)改成add_options_page(Delete-Revision,Delete-Revision,manage_options, basename(__FILE__),my_options_delete_revision)。其他的插件也差不多,需要修改里面传递的参数,只要稍微懂一点开发知识的站长,解决起来并 不难。