# sanitize_post()

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

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

## Сигнатура

```php
sanitize_post( object|WP_Post|array $post, string $context = 'display' ): object|WP_Post|array
```

## Описание

Если контекст — 'raw', то объект или массив записи проходит минимальную очистку только целочисленных полей.
См. alsosanitize_post_field()

## Параметры

- `$post` `object|WP_Post|array` — обязательный. Объект или массив записи.
- `$context` `string` — необязательный, по умолчанию `'display'`. Как очищать поля записи.
  
  Принимает 'raw', 'edit', 'db', 'display', 'attribute' или 'js'. Значение по умолчанию 'display'.

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

`object|WP_Post|array` — $post

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

Файл: `wp-includes/post.php:2919`

```php
function sanitize_post( $post, $context = 'display' ) {
	if ( is_object( $post ) ) {
		// Check if post already filtered for this context.
		if ( isset( $post->filter ) && $context === $post->filter ) {
			return $post;
		}
		if ( ! isset( $post->ID ) ) {
			$post->ID = 0;
		}
		foreach ( array_keys( get_object_vars( $post ) ) as $field ) {
			$post->$field = sanitize_post_field( $field, $post->$field, $post->ID, $context );
		}
		$post->filter = $context;
	} elseif ( is_array( $post ) ) {
		// Check if post already filtered for this context.
		if ( isset( $post['filter'] ) && $context === $post['filter'] ) {
			return $post;
		}
		if ( ! isset( $post['ID'] ) ) {
			$post['ID'] = 0;
		}
		foreach ( array_keys( $post ) as $field ) {
			$post[ $field ] = sanitize_post_field( $field, $post[ $field ], $post['ID'], $context );
		}
		$post['filter'] = $context;
	}
	return $post;
}
```

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

- 2.3.0 — Introduced.

## Связанные

Использует: [`sanitize_post_field`](https://chugunov.pro/api-wordpress/functions/sanitize_post_field/).
Используется в: [`get_attachment_fields_to_edit`](https://chugunov.pro/api-wordpress/functions/get_attachment_fields_to_edit/), `WP_Post::get_instance`, `WP_Post`, `WP_Post::filter`, [`update_post_cache`](https://chugunov.pro/api-wordpress/functions/update_post_cache/), [`wp_insert_post`](https://chugunov.pro/api-wordpress/functions/wp_insert_post/), [`get_post`](https://chugunov.pro/api-wordpress/functions/get_post/), [`_set_preview`](https://chugunov.pro/api-wordpress/functions/_set_preview/).

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