_wp_post_revision_fields

Determines which fields of posts are to be saved in revisions.

Description

(array) _wp_post_revision_fields( (array) $post = array(), (bool) $deprecated = false ); 

Returns (array)

Array of fields that can be versioned.

Parameters (2)

0. $post — Optional. (array) => array()
A post array or a WP_Post object being processed for insertion as a post revision. Default empty array.
1. $deprecated — Optional. (bool) => false
The deprecated.

Usage

  1. if ( !function_exists( '_wp_post_revision_fields' ) ) { 
  2. require_once ABSPATH . WPINC . '/revision.php'; 
  3.  
  4. // Optional. A post array or a WP_Post object being processed 
  5. // for insertion as a post revision. Default empty array. 
  6. $post = array(); 
  7.  
  8. // The deprecated. 
  9. $deprecated = false; 
  10.  
  11. // NOTICE! Understand what this does before running. 
  12. $result = _wp_post_revision_fields($post, $deprecated); 
  13.  

Defined (1)

The function is defined in the following location(s).

/wp-includes/revision.php  
  1. function _wp_post_revision_fields( $post = array(), $deprecated = false ) { 
  2. static $fields = null; 
  3.  
  4. if ( ! is_array( $post ) ) { 
  5. $post = get_post( $post, ARRAY_A ); 
  6.  
  7. if ( is_null( $fields ) ) { 
  8. // Allow these to be versioned 
  9. $fields = array( 
  10. 'post_title' => __( 'Title' ),  
  11. 'post_content' => __( 'Content' ),  
  12. 'post_excerpt' => __( 'Excerpt' ),  
  13. ); 
  14.  
  15. /** 
  16. * Filters the list of fields saved in post revisions. 
  17. * Included by default: 'post_title', 'post_content' and 'post_excerpt'. 
  18. * Disallowed fields: 'ID', 'post_name', 'post_parent', 'post_date',  
  19. * 'post_date_gmt', 'post_status', 'post_type', 'comment_count',  
  20. * and 'post_author'. 
  21. * @since 2.6.0 
  22. * @since 4.5.0 The `$post` parameter was added. 
  23. * @param array $fields List of fields to revision. Contains 'post_title',  
  24. * 'post_content', and 'post_excerpt' by default. 
  25. * @param array $post A post array being processed for insertion as a post revision. 
  26. */ 
  27. $fields = apply_filters( '_wp_post_revision_fields', $fields, $post ); 
  28.  
  29. // WP uses these internally either in versioning or elsewhere - they cannot be versioned 
  30. foreach ( array( 'ID', 'post_name', 'post_parent', 'post_date', 'post_date_gmt', 'post_status', 'post_type', 'comment_count', 'post_author' ) as $protect ) { 
  31. unset( $fields[ $protect ] ); 
  32.  
  33.  
  34. return $fields;