wp_save_post_revision_post_has_changed filter-hookWP 4.1.0

Filters whether a post has changed.

By default a revision is saved only if one of the revisioned fields has changed. This filter allows for additional checks to determine if there were changes.

Usage

add_filter( 'wp_save_post_revision_post_has_changed', 'wp_kama_save_post_revision_has_changed_filter', 10, 3 );

/**
 * Function for `wp_save_post_revision_post_has_changed` filter-hook.
 * 
 * @param bool    $post_has_changed Whether the post has changed.
 * @param WP_Post $last_revision    The last revision post object.
 * @param WP_Post $post             The post object.
 *
 * @return bool
 */
function wp_kama_save_post_revision_has_changed_filter( $post_has_changed, $last_revision, $post ){

	// filter...
	return $post_has_changed;
}
$post_has_changed(true|false)
Whether the post has changed.
$last_revision(WP_Post)
The last revision post object.
$post(WP_Post)
The post object.

Changelog

Since 4.1.0 Introduced.

Where the hook is called

wp_save_post_revision()
wp_save_post_revision_post_has_changed
wp-includes/revision.php 181
$post_has_changed = (bool) apply_filters( 'wp_save_post_revision_post_has_changed', $post_has_changed, $last_revision, $post );

Where the hook is used in WordPress

wp-includes/class-wp-customize-manager.php 2942
add_filter( 'wp_save_post_revision_post_has_changed', array( $this, '_filter_revision_post_has_changed' ), 5, 3 );
wp-includes/class-wp-customize-manager.php 2984
remove_filter( 'wp_save_post_revision_post_has_changed', array( $this, '_filter_revision_post_has_changed' ) );