禁用wordpress文章版本管理功能和删除已有的历史记录文章版本

禁用 WordPress 文章版本管理功能

之前是用 define(‘WP_POST_REVISIONS’, false);

不过2.7更新出来WPchina.org的写法是

/**
* WordPress 版本管理功能
*
* 对于绝大多数网友而言,并不需要版本管理功能。你可以在这里关闭此功能。
* 当参数 n = -1 时,保留所有文章/页面的修订版本;这是默认值;
* 当参数 n = 0 时,保留0次文章/页面的修订版本,即关闭该功能;
* 当参数 n > 0 时,保留n次文章/页面的修订版本。
*
* @added by WPChina.org
*/
define(‘WP_POST_REVISIONS’, ‘-1’);

删除 WordPress 已有的文章版本历史

这个是比较头疼的问题,虽然关闭了版本但是以前的文章版本却还是存在的,在网上找到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’;

另外需要注意的是MYSQL4是不能用的,我的空间恰恰是MYSQL4,无奈之前把数据库搬到自己电脑上去升级。MYSQL4到MYSQL5是挺容易的 MYSQL5到MYSQL4却费了半天劲,首先需要去掉一个 SQL_MODE=”NO_AUTO_VALUE_ON_ZERO”; 另外MYSQL4是不支持编码的 WORDPRESS是UTF8的编码 所以还要去掉DEFAULT CHARSET=utf8 ,至此删除干净历史遗留问题,心情顺畅。

8条评论

  1. DELETE FROM wp_term_relationships WHERE object_id IN (SELECT id FROM wp_posts WHERE post_type=’revision’);

    这个不能要,会把链接的关系也破坏,其他的都是正确的,谢谢博主

      1. 你可以写在wp-config.php 文件中,不过我之前用过这个方法,现在已经没有在用了,一些插件会更便捷。

发表评论

邮箱地址不会被公开。 必填项已用*标注