Determines how many revisions to retain for a given post.
Description
By default, an infinite number of revisions are kept.
The constant WP_POST_REVISIONS can be set in wp-config to specify the limit of revisions to keep.
Parameters
$post
WP_Postrequired- The post object.
Source
function wp_revisions_to_keep( $post ) {
$num = WP_POST_REVISIONS;
if ( true === $num ) {
$num = -1;
} else {
$num = (int) $num;
}
if ( ! post_type_supports( $post->post_type, 'revisions' ) ) {
$num = 0;
}
/**
* Filters the number of revisions to save for the given post.
*
* Overrides the value of WP_POST_REVISIONS.
*
* @since 3.6.0
*
* @param int $num Number of revisions to store.
* @param WP_Post $post Post object.
*/
$num = apply_filters( 'wp_revisions_to_keep', $num, $post );
/**
* Filters the number of revisions to save for the given post by its post type.
*
* Overrides both the value of WP_POST_REVISIONS and the 'wp_revisions_to_keep' filter.
*
* The dynamic portion of the hook name, `$post->post_type`, refers to
* the post type slug.
*
* Possible hook names include:
*
* - `wp_post_revisions_to_keep`
* - `wp_page_revisions_to_keep`
*
* @since 5.8.0
*
* @param int $num Number of revisions to store.
* @param WP_Post $post Post object.
*/
$num = apply_filters( "wp_{$post->post_type}_revisions_to_keep", $num, $post );
return (int) $num;
}
Hooks
- apply_filters( ‘wp_revisions_to_keep’,
int $num ,WP_Post $post ) Filters the number of revisions to save for the given post.
- apply_filters( “wp_{$post->post_type}_revisions_to_keep”,
int $num ,WP_Post $post ) Filters the number of revisions to save for the given post by its post type.
Changelog
Version | Description |
---|---|
3.6.0 | Introduced. |
Example
This code notifies a user when the post they are working has reached the limit defined by wp_revisions_to_keep