收件人地址:
如果我将WP\\u POST\\u REVISIONS设置为10,这些帖子会发生什么情况?旧版本会自动删除还是保留?
您有以下操作:
add_action( \'pre_post_update\', \'wp_save_post_revision\' );
在中默认设置
/wp-includes/default-filters.php
.
如果您检查source 属于wp_save_post_revision()
您可以看到,它将删除当前帖子的其余修订:
$delete = count($revisions) - WP_POST_REVISIONS;
使用
wp_delete_post_revision()
当挂钩
pre_post_update
对于给定的
$post_id
, 执行自动保存时除外。
以下是来源的相关部分wp_save_post_revision()
:
// WP_POST_REVISIONS = true (default), -1
if ( !is_numeric( WP_POST_REVISIONS ) || WP_POST_REVISIONS < 0 )
return $return;
// all revisions and (possibly) one autosave
$revisions = wp_get_post_revisions( $post_id, array( \'order\' => \'ASC\' ) );
// WP_POST_REVISIONS = (int) (# of autosaves to save)
$delete = count($revisions) - WP_POST_REVISIONS;
if ( $delete < 1 )
return $return;
$revisions = array_slice( $revisions, 0, $delete );
for ( $i = 0; isset($revisions[$i]); $i++ ) {
if ( false !== strpos( $revisions[$i]->post_name, \'autosave\' ) )
continue;
wp_delete_post_revision( $revisions[$i]->ID );
}