WordPress教程 · WPtech

关闭掉WordPress撰写文章自动保存和修订版本

小编 · 7月22日 · 2019年 ·

WordPress的使用者可以发现,最大的文章ID要远大于文章总量,对于某些强迫症患者,这绝对是无法忍受的。造成ID不连续的主要原因是:①文章自动保存;②文章的修订版本;③附件占用ID;⑤导航菜单和单页面占用ID。所以为了确保ID尽可能的连续,我们需要禁用自动保存和修订版本的功能,尽量保证文章ID的连续。

对于禁用wordpress自动保存和修订版本的方法网上有很多,但是大多都是很久以前的了,经过测试对于最新版本的wordpress-4.4.2已经失效了。现在本站分享两个wordpress最新禁用自动保存草稿和修订版本的方法。

为了不浪费你的时间,继续看下文之前请确认你的wordpress版本为4.1.1以上。下面的方法需要修改源文件所以在打开每一个文件之前,记得一定要先做好备份!

禁用文章修订历史版本

打开 wp-config.php 文件,在

$table_prefix = 'wp_';

前面添加下面的两行代码:

define('WP_POST_REVISIONS', false);//禁用历史修订版本
define('AUTOSAVE_INTERVAL', false);//自动保存时间设置为一天
关闭掉WordPress撰写文章自动保存和修订版本-字节智造

禁用自动保存功能

打开 wp-admin/post.php 文件,搜索

if ( 'attachment' !== $post_type )

找到

if ( 'attachment' !== $post_type )
wp_enqueue_script(‘autosave’);

将这两行用注释符号//注释即可!如下:

关闭掉WordPress撰写文章自动保存和修订版本-字节智造

继续打开wp-admin/post-new.php文件,搜索:

wp_enqueue_script( ‘autosave’ );

将这一句注释掉,直接删除也可以!

关闭掉WordPress撰写文章自动保存和修订版本-字节智造

禁用自动草稿功能

打开 wp-admin\includes\post.php 文件,搜索:

if ( $create_in_db ) {

找到:

$post_id = wp_insert_post( array( ‘post_title’ => __( ‘Auto Draft’ ), ‘post_type’ => $post_type, ‘post_status’ => ‘auto-draft’ ) );
$post = get_post( $post_id );

替换为:

/* 修改-注释两行代码禁用草稿*/
/*
$post_id = wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) );
$post = get_post( $post_id );
*/
/* 修改开始*/
global $current_user,$wpdb;
$post = $wpdb->get_row( "SELECT * FROM $wpdb->posts WHERE post_status = 'auto-draft' AND post_type = '$post_type' AND post_author = $current_user->ID ORDER BY ID ASC LIMIT 1" );
if (!($post) ) {
 $post_id = wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) );
 $post = get_post( $post_id );
}
/* 修改结束 */

如下图:

关闭掉WordPress撰写文章自动保存和修订版本-字节智造

主题Functions.php修改方法

在functions.php的最后php结束标记前加上如下代码:

//移除自动保存
wp_deregister_script('autosave');
//移除修订版本
remove_action('post_updated','wp_save_post_revision' );

这里移除修订版本的方法不同于网上早期的方法的地方是,’wp_save_post_revision’ 挂载的钩子已经由‘pre_post_updated’变成了‘post_updated’,这个变化貌似是WordPress版本4.0之后,造成了早期的修改方法失效了,具体见WordPress原文件wp-includes/default-filters.php第265行(WordPress4.2.2版本)。

对于已经发布或现有存在的冗余数据,要怎么办呢?这里博主提供一个比较简单的方法。

如果想精简数据库,把以前的文章修订版都删掉,可以使用插件 Wp Cleaner 。

打开wordpress的后台仪表盘

我们在 插件 的二级菜单中选择 安装插件。

关闭掉WordPress撰写文章自动保存和修订版本-字节智造

搜索 wp clean up

如果搜索插件关键字找不到,可以直接搜作者

关闭掉WordPress撰写文章自动保存和修订版本-字节智造

打开插件

安装完成后,我们启动插件,并且点击设置

关闭掉WordPress撰写文章自动保存和修订版本-字节智造

看到木,看到木,这里显示了很多垃圾,想删什么删什么,妈妈再也不用担心空间不足了。

0 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!