# _wp_post_revision_fields()

URL: https://chugunov.pro/api-wordpress/functions/_wp_post_revision_fields/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 2.6.0.

> Устаревший элемент. Помечен устаревшим с версии 4.5.0.

## Сигнатура

```php
_wp_post_revision_fields( array|WP_Post $post = array(), bool $deprecated = false ): string[]
```

## Описание

Определяет, какие поля записей должны сохраняться в редакциях.

## Параметры

- `$post` `array|WP_Post` — необязательный, по умолчанию `array()`. Массив записи или объект WP_Post, обрабатываемый для вставки в качестве редакции записи.
- `$deprecated` `bool` — необязательный, по умолчанию `false`. Не используется.

## Возвращаемое значение

`string[]`

## Исходный код

Файл: `wp-includes/revision.php:22`

```php
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;
}
```

## История изменений

- 4.5.0 — The optional $autosave parameter was deprecated and renamed to $deprecated.
- 2.6.0 — Introduced.

## Связанные

Использует: [`__`](https://chugunov.pro/api-wordpress/functions/__/), [`apply_filters`](https://chugunov.pro/api-wordpress/functions/apply_filters/), [`get_post`](https://chugunov.pro/api-wordpress/functions/get_post/).
Используется в: `WP_REST_Autosaves_Controller::create_post_autosave`, [`_wp_post_revision_data`](https://chugunov.pro/api-wordpress/functions/_wp_post_revision_data/), [`wp_create_post_autosave`](https://chugunov.pro/api-wordpress/functions/wp_create_post_autosave/), [`wp_get_revision_ui_diff`](https://chugunov.pro/api-wordpress/functions/wp_get_revision_ui_diff/), [`wp_restore_post_revision`](https://chugunov.pro/api-wordpress/functions/wp_restore_post_revision/), [`wp_save_post_revision`](https://chugunov.pro/api-wordpress/functions/wp_save_post_revision/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/_wp_post_revision_fields/
