Filter hook '_wp_post_revision_fields'

in WP Core File wp-includes/revision.php at line 54

View Source

_wp_post_revision_fields

Filter Hook
Description
Filters the list of fields saved in post revisions. 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'.

Hook Information

File Location wp-includes/revision.php View on GitHub
Hook Type Filter
Line Number 54

Hook Parameters

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

Usage Examples

Basic Usage
<?php
// Hook into _wp_post_revision_fields
add_filter('_wp_post_revision_fields', 'my_custom_filter', 10, 2);

function my_custom_filter($fields, $post) {
    // Your custom filtering logic here
    return $fields;
}

Source Code Context

wp-includes/revision.php:54 - How this hook is used in WordPress core
<?php
  49  	 *
  50  	 * @param string[] $fields List of fields to revision. Contains 'post_title',
  51  	 *                         'post_content', and 'post_excerpt' by default.
  52  	 * @param array    $post   A post array being processed for insertion as a post revision.
  53  	 */
  54  	$fields = apply_filters( '_wp_post_revision_fields', $fields, $post );
  55  
  56  	// WP uses these internally either in versioning or elsewhere - they cannot be versioned.
  57  	foreach ( array( 'ID', 'post_name', 'post_parent', 'post_date', 'post_date_gmt', 'post_status', 'post_type', 'comment_count', 'post_author' ) as $protect ) {
  58  		unset( $fields[ $protect ] );
  59  	}

PHP Documentation

<?php
/**
	 * Filters the list of fields saved in post revisions.
	 *
	 * 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'.
	 *
	 * @since 2.6.0
	 * @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.
	 */
Quick Info
  • Hook Type: Filter
  • Parameters: 2
  • File: wp-includes/revision.php
Related Hooks

Related hooks will be displayed here in future updates.