安装插件出现问题时不妨检查一下数据库
WordPress 是一个优秀的博客系统,功能强大,又非常容易上手,再加上有大量的插件可选择,使用中我们不可避免地频繁装、卸一些插件。一般说来这不会出现什么问题,但久而久之,你的数据库也许会有一些无用的表,一些不当的数据记录有时甚至会导致不可预料的结果。
下面就说说我昨天在安装使用Lc.Archivers插件时出现的一个问题,希望能对大家有帮助。
Lc.Archivers是一个很不错的插件,仿Discuz! Archiver,可以生成一个全静态的文章存档与站点地图。用它给BLOG做个文章备份也不错,一举两得。下载安装没有出现任何问题,一切正常的样子。
但仔细查验生成的文件,奇怪的很,有个目录(cat=7)对应的文件cat7-1.html总是不能生成。
起初怀疑是不是有插件冲突,经检查后排除了这种可能。至此,就连插件作者Lc.本人也觉得真是有点匪夷所思了。
在看了LC的插件代码后,受到了启发,觉得会不会是我数据库的数据有问题呢?
WP2.8的数据库现有11个表:
wp_email
wp_comments
wp_links
wp_options
wp_postmeta
wp_posts
wp_term_relationships
wp_term_taxonomy
wp_terms
wp_usermeta
wp_users
其中wp_terms、wp_term_relationships、wp_term_taxonomy这三个表较为复杂,用来记录post_tag、category、link_category这些信息。
打开我的wp_term_taxonomy 表,怎么回事?!居然有两条term_id 为7的记录,分别对应一个category(term_taxonomy_id=7)和一个post_tag(term_taxonomy_id=8)。
将其中count为0的对应post_tag的那个term_id 修改后,问题解决了!同时删除了数据库中由于安装插件生成的几个无用的表格。
为何会产生两个term_id值相同的记录呢?有人有这种情况吗?难道是WP的一个BUG?
通过这件事我想提醒大家,如果你在安装一些插件时出现意想不到的问题时,解决时不妨注意查看一下数据库中的相关记录,没准问题会出在这里。
图中对应term_taxonomy_id=8的那个term_id 修改为3。

延伸阅读:WordPress数据库

