📜  wp 修订配置 - PHP (1)

📅  最后修改于: 2023-12-03 15:35:44.806000             🧑  作者: Mango

WP 修订配置 - PHP

当在 WordPress 站点上进行编辑时,系统会自动保存一个尚未发布的草稿。这个功能虽然很有用,但是在多次编辑之后,却可能会导致数据库中存在大量的无用数据,占用存储空间。此时,WP 修订功能就成了你的好帮手。在默认情况下,WordPress 启用了修订功能,但是你可以通过代码来进行配置。

关闭 WP 修订功能

如果你希望关闭 WordPress 的修订功能,可以在 wp-config.php 文件中添加如下代码:

define( 'WP_POST_REVISIONS', false );  // 关闭所有修订

在上面的代码中,我们使用了 define() 函数来定义一个常量 WP_POST_REVISIONS,将其设置为 false

修改 WP 修订次数

如果你想修改 WordPress 中保存修订的次数,可以在 wp-config.php 文件中添加如下代码:

define( 'WP_POST_REVISIONS', 5 );  // 最多保存 5 次修订

在上面的代码中,我们将 WP_POST_REVISIONS 常量设置为 5,表示只保存最近的五个修订版本。

关闭 WP 修订自动保存

如果你希望关闭 WordPress 中的修订自动保存功能,可以在 functions.php 文件中添加如下代码:

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

在上面的代码中,我们定义了一个名为 disable_autosave() 的函数,它用来移除 WordPress 中的自动保存脚本。

修改 WP 修订存储时间

默认情况下,WordPress 在保存修订版本时会保存所有的修订,而且它们会一直保存在数据库中,这可能会占用很大的存储空间。如果你想让 WordPress 删除旧的修订版本,则需要在 wp-config.php 文件中添加如下代码:

define( 'AUTOSAVE_INTERVAL', 300 );  // 每 5 分钟保存一次修订
define( 'WP_POST_REVISIONS', 3 );    // 最多保存 3 次修订

function remove_old_revisions() {
    $revisions = wp_get_post_revisions( $post_id );

    if ( count( $revisions ) > WP_POST_REVISIONS ) {
        $delete = count( $revisions ) - WP_POST_REVISIONS;

        for ( $i = 0; $i < $delete; $i++ ) {
            wp_delete_post_revision( $revisions[ $i ]->ID );
        }
    }
}
add_action( 'wp_print_scripts', 'remove_old_revisions' );

在上面的代码中,我们首先将自动保存间隔时间设置为 300 秒,也就是每隔 5 分钟保存一次修订。然后,我们将最多保存的修订次数设置为 3,表示保留最近的三个修订版本。最后,我们定义了一个名为 remove_old_revisions() 的函数,它用于删除多余的修订版本。在这个函数中,我们首先获取了所有的修订版本,然后判断修订版本的数量是否超过了最大数量,如果超过了,则删除多余的修订。

以上就是关于如何配置 WP 修订功能的介绍,如果你想要了解更多相关的内容,请查阅 WordPress 官方文档。