WordPress禁用修订版本、自动保存、自动草稿

2019年12月9日 评论 111

WordPress的版本修订历史(revision)、自动保存(autosave)和自动草稿(auto-draft)功能会增加文章ID的数字,会造成连续的两篇文章,ID数值可能会相差很多,让文章ID不能连续。

如何禁用WordPress历史版本修订、自动保存,自动草稿功能呢?下面的方法需要修改源文件,所以在打开每一个文件之前,记得一定要先做好备份!

禁用WordPress文章修订历史版本

方法一:修改 wp-config.php 文件实现禁用

打开 wp-config.php 文件,在 $table_prefix = \'wp_\'; 前面添加下面的两行代码:

//禁用文章修订
define('WP_POST_REVISIONS', false);
//设置修订版本最多允许几个
define('WP_POST_REVISIONS', 3);

方法二:主题 functions.php 文件添加代码

//禁用所有文章类型的修订版本
add_filter( 'wp_revisions_to_keep', 'fanly_wp_revisions_to_keep', 10, 2 );
function fanly_wp_revisions_to_keep( $num, $post ) { return 0;}
//禁用某种文章类型的修订版本
add_filter( 'wp_revisions_to_keep', 'fanly_wp_revisions_to_keep', 10, 2 );
function fanly_wp_revisions_to_keep( $num, $post ) {
    if ( 'post_type' == $post->post_type ) { //引号中 post_type 改为你想禁用修订版本的文章类型
        return 0;
    }
    return $num;
}

常见 WordPress 文章类型有:

文章(Post Type: ‘post’)

页面(Post Type: ‘page’)

附件媒体(Post Type: ‘attachment’)

修订版本(Post Type: ‘revision’)

导航菜单(Post Type: ‘nav_menu_item’)

如果网站使用了自定义文章类型,那么就是自定义的名称了。

禁用WordPress自动保存

方法一:修改 wp-config.php 文件实现禁用

打开 wp-config.php 文件,在 $table_prefix = \'wp_\'; 前面添加下面的两行代码:

//禁用自动保存
define('AUTOSAVE_INTERVAL', false);
//设置自动保存间隔/秒
define('AUTOSAVE_INTERVAL', 120);

方法二:注释自动保存代码

1、打开 wp-admin/post.php 文件,搜索 if ( \'attachment\' !== $post_type ) ,找到以下代码 150-151行。

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

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

2、打开 wp-admin/post-new.php 文件,搜索 wp_enqueue_script( \'autosave\' ); (69行),在代码前面加//将其注释或删除。

方法三:主题 functions.php 文件添加代码

//禁用自动保存(方法一)
add_action( 'admin_print_scripts', create_function( '$a', "wp_deregister_script('autosave');" ) );
//禁用自动保存(方法二)
add_action('wp_print_scripts', 'fanly_no_autosave');
function fanly_no_autosave() { wp_deregister_script('autosave'); }

禁用WordPress自动草稿

打开 wp-adminincludespost.php 文件,搜索 if ( $create_in_db ) { 找到以下代码 597行

$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 );
}

除以上动手修改代码外,还有一款国人开发的比较老的插件WP Cleaner也可以实现。删除无用的修订版、自动草稿及自动保存的文章,减小空间,提高性能。WP Cleaner基本使用一次就足够了。

以上就是WordPress禁用文章修订、自动保存、自动草稿的方法,希望对大家有所帮助。

特别声明:以上内容来源于编辑整理发布,如有不妥之处,请与我方联系删除处理。
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: