更新囧客圈的时候发现文章id猛跳6-7个.后来才发现是自动保存和修订版本造成的问题.
在网上找到了几个办法可以解决掉:
1,插件安装法
wordpress的开源构架及其提供第三方插件接口使得世界各地的爱好者们都热衷于编写可以完善wordpress各项功能的插件程序。对于不愿意修改程序代码的用户而言,插件安装法无疑是解决此问题的最好解决,本人即在使用该方案。
分别在http://en.wikipedia.org/wiki/Revision_control与http://samm.dreamhosters.com/wordpress/plugins/处下载revision control和disable autosave插件,上传至plugins目录并在后台启用即可,设置很简单,此处不再赘述。
或者在http://www.jiangmiao.org/blog/138.html下载wp-cleaner插件安装,可以自己手动在后台清理冗余的修订版本,优点是不会发生文章写了一大半应计算机故障没有保存的悲剧,但缺点是生成的文章ID号混乱的问题无法解决。
2,代码修改法
在wp-config.php中增加一行define(‘WP_POST_REVISIONS’, false);即禁用了修订版本功能;
在wp-config.php中,修改为以下设置可以禁用自动保存功能:
define(‘ABSPATH’, dirname(__FILE__).’/');
define(‘AUTOSAVE_INTERVAL’, 86400 ); 86400表示自动保存时间为一天,相信没有哪位朋友会连续写上一天的BLOG,当然你可以修改为自己需要的。
require_once(ABSPATH.’wp-settings.php’);
还有一种方法也可以禁用自动保存功能,但涉及修改的文件比较多:
在wordpress目录/wp-admin/中找到以下四个文件:post-new.php、page-new.php、post.php、page.php
用文本编辑工具打开后在其中搜索“autosave”(不包括引号),都会在相应位置找到这样的一行:
wp_enqueue_script(’autosave’);
通过在该行前加入“//”(不包括引号)来将这一行注释掉,保存。
3,SQL语句清除法
无需安装插件,无需修改代码,只需登陆进phpmyadmin点选SQL选项卡输入如下命令,单击执行即可:
DELETE FROM wp_postmeta WHERE post_id IN (SELECT id FROM wp_posts WHERE post_type=’revision’);
DELETE FROM wp_term_relationships WHERE object_id IN (SELECT id FROM wp_posts WHERE post_type=’revision’);
DELETE FROM wp_posts WHERE post_type=’revision’;
(将wp换为你的数据库名)
这样做的好处是干净方便快捷,也不影响原有程序各项功能(毕竟插件挂多了可能会影响程序运行速度),其它优缺点请参照第一节中wp-cleaner的描述。
祝大家wordpress使用愉快!
http://www.85nian.com/?p=132
wp cleaner插件真的很能优化数据库,用上了.