wppaste
WordPress

apply_filters( '_wp_post_revision_fields', string[] $fields, array $post )

Since
2.6.0, 4.5.0
Filters the list of fields saved in post revisions.

Description

Included by default: 'post_title', 'post_content' and 'post_excerpt'.

Disallowed fields: 'ID', 'post_name', 'post_parent', 'post_date', 'post_date_gmt', 'post_status', 'post_type', 'comment_count', and 'post_author'.

Compatibility

WordPress
since 4.5.0
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0).

Parameters

$fieldsstring[]
List of fields to revision. Contains 'post_title', 'post_content', and 'post_excerpt' by default.
$postarray
A post array being processed for insertion as a post revision.

Where this hook fires · 1

  • wp-includes/revision.php:54_wp_post_revision_fields()

Source code

	 * @since 4.5.0 The `$post` parameter was added.	 *	 * @param string[] $fields List of fields to revision. Contains 'post_title',	 *                         'post_content', and 'post_excerpt' by default.	 * @param array    $post   A post array being processed for insertion as a post revision.	 */	$fields = apply_filters( '_wp_post_revision_fields', $fields, $post ); 	// WP uses these internally either in versioning or elsewhere - they cannot be versioned.	foreach ( array( 'ID', 'post_name', 'post_parent', 'post_date', 'post_date_gmt', 'post_status', 'post_type', 'comment_count', 'post_author' ) as $protect ) {		unset( $fields[ $protect ] );	}

Changelog

Introduced in 2.6.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

4.5.0
The $post parameter was added.from the docblock
2.6.0
Introduced.from the docblock

About this page

Parsed data
Generated from the wordpress-develop 6.9.7 tag, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.