# set_post_format()

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

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

## Сигнатура

```php
set_post_format( int|WP_Post $post, string $format ): array|WP_Error|false
```

## Описание

Назначает формат записи

## Параметры

- `$post` `int|WP_Post` — обязательный. Запись, которой назначается формат.
- `$format` `string` — обязательный. Назначаемый формат. Используйте пустую строку или массив, чтобы удалить все форматы у записи.

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

`array|WP_Error|false` — WP_Error

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

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

```php
function set_post_format( $post, $format ) {
	$post = get_post( $post );

	if ( ! $post ) {
		return new WP_Error( 'invalid_post', __( 'Invalid post.' ) );
	}

	if ( ! empty( $format ) ) {
		$format = sanitize_key( $format );
		if ( 'standard' === $format || ! in_array( $format, get_post_format_slugs(), true ) ) {
			$format = '';
		} else {
			$format = 'post-format-' . $format;
		}
	}

	return wp_set_post_terms( $post->ID, $format, 'post_format' );
}
```

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

- 3.1.0 — Introduced.

## Связанные

Использует: [`wp_set_post_terms`](https://chugunov.pro/api-wordpress/functions/wp_set_post_terms/), [`get_post_format_slugs`](https://chugunov.pro/api-wordpress/functions/get_post_format_slugs/), [`__`](https://chugunov.pro/api-wordpress/functions/__/), [`sanitize_key`](https://chugunov.pro/api-wordpress/functions/sanitize_key/), [`get_post`](https://chugunov.pro/api-wordpress/functions/get_post/), `WP_Error::__construct`.
Используется в: `WP_REST_Posts_Controller::create_item`, `WP_REST_Posts_Controller::update_item`, [`edit_post`](https://chugunov.pro/api-wordpress/functions/edit_post/), [`bulk_edit_posts`](https://chugunov.pro/api-wordpress/functions/bulk_edit_posts/), [`get_default_post_to_edit`](https://chugunov.pro/api-wordpress/functions/get_default_post_to_edit/), `wp_xmlrpc_server::mw_editPost`, `wp_xmlrpc_server::mw_newPost`, `wp_xmlrpc_server::_insert_post`.

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