禁用WordPress文章修訂版本Revisions的兩種方法(對新版本WP有效)

所謂的文章修訂版就是你每次修改一次文章,它都會自動幫你保存修改以前的文章版本,專業術語叫作版本控制,這樣保證了在誤修改的狀況下能夠還原以前的內容,這種功能對咱們這種小博客來講並無太大的意義,並且會在數據庫產生不少無用的數據,使你的數據庫愈來愈臃腫。php

以前在網上看到了不少都是用下面這樣的代碼來的,可是通過測試,這段代碼在新版本的WP中彷佛是無效的。html

remove_action('post_update','wp_save_post_revision');

下面兩種方法是本人通過親測,確實有效的方法:數據庫

方法一:修改WP安裝根目錄下的 wp-config.php 文件

前面分享過一篇《[譯]經過wp-config來定製你的WordPress》的文章,裏面其實就提到了一種禁用修訂版本的方法:wordpress

// 不保存任何版本(除了自動保存的版本)
define('WP_POST_REVISIONS', false);
 
//保存全部修訂版本
define('WP_POST_REVISIONS', true);
 
// 保存 n 個修訂版本
define('WP_POST_REVISIONS', 3);

方法二:在主題 functions.php 中添加代碼

經過 wp_revisions_to_keep 來實現,它是Wordpress專門提供的一個用來控制修訂版本數的。經過把下面的代碼添加到當前主題 functions.php 來實現:post

禁用全部文章類型的修訂版本

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’)ui

  • Page (Post Type: ‘page’)url

  • Attachment (Post Type: ‘attachment’)spa

  • 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'); 
}
相關文章
相關標籤/搜索