1、找到wp-admin/includes/post.php里边的get_default_post_to_edit这个函数,
$post = get_post( wp_insert_post( array( ‘post_title’ => __( ‘Auto Draft’ ), ‘post_type’ => $post_type, ‘post_status’ => ‘auto-draft’ ) ) );
把这一句修改成如下:
$post_auto_draft = $wpdb->get_row( “SELECT * FROM $wpdb->posts WHERE post_type = ‘$post_type’ AND post_status = ‘auto-draft’ LIMIT 1” );
if ( $post_auto_draft ) {
$post = $post_auto_draft;
} else {
$post = get_post( wp_insert_post( array( ‘post_title’ => __( ‘Auto Draft’ ), ‘post_type’ => $post_type, ‘post_status’ => ‘auto-draft’ ) ) );
}
意思就是: 如果有自动保存的auto-draft就使用以前的auto-draft的ID来写文章,如果没有就插入一条auto-draft, 最后,数据库中总有一条auto-draft… 虽然数据库会多一条数据,但ID还是可以保持连续.
2、找到wp-adminincludespost.php文件,在if ( $create_in_db ) {前面加上这句代码就可以了:
$create_in_db = false;
第一种方法是使用“WP Cleaner”插件
下载博客插件WP Cleaner,并上传至wp-content/plugins/目录下;登陆博客后台,在已安装插件列表中启用该插件;启用WP Cleaner插件后,在“设置”选项卡下会生成“WP Cleaner”选项;点击“wp cleaner”选项进入插件界面;可供选择的删除选项有“删除所有修订版”、“删除所有草稿”、“删除所有修订版和草稿”、“删除所有修订版-继承”,想要删除哪一项就点击哪一项就可以了。
第二种方法是直接在数据库中用SQL语句删除
数据库中有很多表,其中“wp_posts”是用于保存你所有的文章相关信息的,非常的重要,一般它存储的数据也是最多的。我们清理自动保存的草稿和修订版也是在这里面清理,命令如下:
DELETE FROM wp_posts WHERE post_status!=’publish’ OR post_type=’revision’;
其实,wordpress自动存草稿和保留修订版的功能是可以直接禁用掉的,不过听说新版本中的插件已经失效了,剩下的唯一的方法是该代码,操作起来比较麻烦,所以还是隔一段时间清理一次吧。