📅  最后修改于: 2023-12-03 15:35:44.806000             🧑  作者: Mango
当在 WordPress 站点上进行编辑时,系统会自动保存一个尚未发布的草稿。这个功能虽然很有用,但是在多次编辑之后,却可能会导致数据库中存在大量的无用数据,占用存储空间。此时,WP 修订功能就成了你的好帮手。在默认情况下,WordPress 启用了修订功能,但是你可以通过代码来进行配置。
如果你希望关闭 WordPress 的修订功能,可以在 wp-config.php
文件中添加如下代码:
define( 'WP_POST_REVISIONS', false ); // 关闭所有修订
在上面的代码中,我们使用了 define()
函数来定义一个常量 WP_POST_REVISIONS
,将其设置为 false
。
如果你想修改 WordPress 中保存修订的次数,可以在 wp-config.php
文件中添加如下代码:
define( 'WP_POST_REVISIONS', 5 ); // 最多保存 5 次修订
在上面的代码中,我们将 WP_POST_REVISIONS
常量设置为 5
,表示只保存最近的五个修订版本。
如果你希望关闭 WordPress 中的修订自动保存功能,可以在 functions.php
文件中添加如下代码:
function disable_autosave() {
wp_deregister_script( 'autosave' );
}
add_action( 'wp_print_scripts', 'disable_autosave' );
在上面的代码中,我们定义了一个名为 disable_autosave()
的函数,它用来移除 WordPress 中的自动保存脚本。
默认情况下,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 官方文档。