十
把WordPress的后台升级到了新版3.0之后,发现部分插件失效,比如常用的最新评论和随机文章。几番Google,找到了题为解决WordPress 3.0中最新评论失效的问题的文章,根据文章的介绍,插件失效是由WordPress在新版本中取消(Deprecated)了部分全局变量,而这些插件刚好依赖这些全局变量来工作。文中详细的介绍了解决的方案,这里就不再赘述,只是再梳理下遇到类似问题时的解决思路:
首先,对于不懂得PHP程序设计的童鞋来说,遇到这种问题,无法自行修改失效插件的源文件,最好的解决方式就是到插件开发者的网站上看看作者是否随着新版本的推出更新了插件。之后下载到最新的插件版本覆盖就可以了。小提示:如何指导插件维护者的网址?最简单的方法是Google插件名称,结果不理想时可加上WordPress一起搜索。
而对于有PHP经验的童鞋来说,很可能自己就开发了插件,按照前文提到的那篇文章的方法来自行更新源代码使插件恢复正常就很容易。需要注意的是,不同的童鞋可能使用不同的主题,而导致问题的代码片段就可能分布在不同的文件中,有可能在主题文件中也有可能在插件源文件中,一般的查找顺序为:主题中的functions.php;插件源文件。下面就拿今天遇到的问题来说明。
症状表现:随机文章板块下无任何输出;
问题诊断:首先查看在index.php中导致该问题的片段,确定为random_posts(),很可能是该函数出了问题,而该函数来源于随机文章插件;
解决思路:打开插件管理页面,编辑随机文章插件,将其中的$tableposts替换为$tableposts=$wpdb->posts,然当修改时注意语法和上下文。
更新检验:保存代码更改,然后刷新页面,看看更改是否解决了问题,并根据提示来调整。
当然,如果你是开发者,相信Wordpress不同版本之间的区别对你会很有帮助。
相关东东 |



已经有5位客官在 《解决WordPress 3.0中部分插件失效的方法》 留话了
十月 14th, 2010 at 8:37 下午
确实,全局变量的改变对插件还有主题原本的函数用法都有影响,开发者要注意啊
[回复]
十月 16th, 2010 at 4:12 下午
一般常用主题都有更新的,太老的,就不用了
[回复]
十月 21st, 2010 at 10:29 上午
尽量不要改全局变量
[回复]
十月 28th, 2010 at 7:52 上午
如果怕麻烦,又不想折腾wordpress的话,还是留段时间给插件作者更新插件再升级wordpress吧
[回复]
十月 16th, 2011 at 9:06 下午
网站挺好的,以后要多来学习学习。
http://www.lovenanjing.com
[回复]