当前位置:K88软件开发文章中心编程全书编程全书02 → 文章内容

wordpress4.4禁用自动保存草稿和去除文章修订的方法

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-4 9:16:57

-->

wordpress后台编辑文章,或修改文章时候经常会不停地自动保存很多修订版本,每一次修订版本都会写入数据库中,这样的好处就是当你在写文章时候,如果没有Ctrl+s保存的习惯,系统自动帮你定时保存,以免数据的丢失。往往我们并不需要这种人性化的功能。而且我们发现wordpress后台并没有相关的设置可以禁止这些功能。所以现在只能通过修改配置文件和代码实现了。

如果怕麻烦的朋友可以直接下载修改好的文件替换之(注意备份下),并按照以下方法修改根目录下的wp-config.php配置文件。为最新的wordpress4.4版本,

下载地址:http://pan.baidu.com/s/1o6ZXukU

禁用文章修订历史版本

打开wp-config.php文件

在$table_prefix=’wp_’; ?前面添加一下代码;

1
2
define('WP_POST_REVISIONS', false);//禁用post_revision
define('AUTOSAVE_INTERVAL', false);//禁用自动保存间隙时间

禁用自动保存功能

打开wp-admin/post.php文件,找到

1
2
//if ( 'attachment' !== $post_type )
//wp_enqueue_script('autosave');

将此代码注释掉即可!

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

1
// wp_enqueue_script( 'autosave' );

大概69行左右,也将其注释掉。

禁用自动草稿功能

打开wp-admin/includes/post.php,找到

1
2
3
4
/*
$post_id = wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) );
$post = get_post( $post_id );
*/

将其注释,并添加以下代码:

1
2
3
4
5
6
7
8
/* 修改开始*/
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 );
}
/* 修改结束 */

ok,到这里,差不多结束了,如果你还想删除数据库早期已经保存的文章数据,可以参考:


wordpress4.4禁用自动保存草稿和去除文章修订的方法