_wp_post_revision_fields()
Determines which fields of posts are to be saved in revisions.
Internal function — this function is designed to be used by the kernel itself. It is not recommended to use this function in your code.
Hooks from the function
Return
String[]
. Array of fields that can be versioned.
Usage
_wp_post_revision_fields( $post, $deprecated );
- $post(array|WP_Post)
- A post array or a WP_Post object being processed for insertion as a post revision.
Default: empty array - $deprecated(true|false)
- Not used.
Default: false
Changelog
Since 2.6.0 | Introduced. |
Since 4.5.0 | A WP_Post object can now be passed to the $post parameter. |
Since 4.5.0 | The optional $autosave parameter was deprecated and renamed to $deprecated. |
_wp_post_revision_fields() wp post revision fields code WP 6.6.2
function _wp_post_revision_fields( $post = array(), $deprecated = false ) { static $fields = null; if ( ! is_array( $post ) ) { $post = get_post( $post, ARRAY_A ); } if ( is_null( $fields ) ) { // Allow these to be versioned. $fields = array( 'post_title' => __( 'Title' ), 'post_content' => __( 'Content' ), 'post_excerpt' => __( 'Excerpt' ), ); } /** * 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. */ $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 ] ); } return $fields; }