禁用WordPress文章修订版本Revisions的两种方法
 doctorrm      2019-01-05 12:50:32      253      0      

默认情况下,WordPress文章每次修改后都会产生一个版本,而在文章表wp_posts里就会增加一条新的记录,并且内容完整保留,所以,如果你一篇文章修改了多少遍,就相当于新增了多少篇文章,这就是WordPress的默认版本策略。

很坑是吧?数据表徒增了不必要的记录,所以我们需要禁用或者自己设置版本次数,以减少冗余记录。这里提供两种方法:

方法一:修改WordPress安装根目录下的 wp-config.php 文件(推荐,很方便)

// 不保存任何版本(除了自动保存的版本)
define('WP_POST_REVISIONS', false);

//保存所有修订版本,默认情况,不推荐
define('WP_POST_REVISIONS', true);

// 保存n个修订版本,推荐
define('WP_POST_REVISIONS', 2);

具体根据个人需要设置。

方法二:在主题 functions.php 中添加代码(更灵活,未验证,仅供参考)

通过 wp_revisions_to_keep 来实现,它是Wordpress专门提供的一个用来控制修订版本数的。通过把下面的代码添加到当前主题 functions.php 来实现:

禁用所有文章类型的修订版本:

add_filter( 'wp_revisions_to_keep', 'specs_wp_revisions_to_keep', 10, 2 );
function specs_wp_revisions_to_keep( $num, $post ) {
    return 0;
}

只禁用某种文章类型的修订版本:

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

下面是Wordpress中几种类型

  • Post (Post Type:’post’)

  • Page (Post Type:’page’)

  • Attachment (Post Type:’attachment’)

  • Revision (Post Type:’revision’)

  • Navigation menu (Post Type:’nav_menu_item’)

附带一个禁用自动保存功能的方法(也是添加到 functions.php 中):

add_action('wp_print_scripts','disable_autosave');
function disable_autosave(){  
    wp_deregister_script('autosave'); 
}
去打赏

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

正在跳转到PayPal...

发表评论