# _post_states()

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

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

## Сигнатура

```php
_post_states( WP_Post $post, bool $display = true ): string
```

## Описание

См. alsoget_post_states()

## Параметры

- `$post` `WP_Post` — обязательный. Запись, для которой нужно получить состояния.
- `$display` `bool` — необязательный, по умолчанию `true`. Выводить ли состояния записи в виде HTML-строки.

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

`string`

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

Файл: `wp-admin/includes/template.php:2254`

```php
function _post_states( $post, $display = true ) {
	$post_states      = get_post_states( $post );
	$post_states_html = '';

	if ( ! empty( $post_states ) ) {
		$state_count = count( $post_states );
		$separator   = wp_get_list_item_separator();

		$i = 0;

		$post_states_html .= ' &mdash; ';

		foreach ( $post_states as $state ) {
			++$i;

			$suffix = ( $i < $state_count ) ? $separator : '';

			$post_states_html .= "<span class='post-state'>{$state}{$suffix}</span>";
		}
	}

	/**
	 * Filters the HTML string of post states.
	 *
	 * @since 6.9.0
	 *
	 * @param string                 $post_states_html All relevant post states combined into an HTML string for display.
	 *                                                 E.g. `&mdash; <span class='post-state'>Draft, </span><span class='post-state'>Sticky</span>`.
	 * @param array<string, string>  $post_states      A mapping of post state slugs to translated post state labels.
	 *                                                 E.g. `array( 'draft' => __( 'Draft' ), 'sticky' => __( 'Sticky' ), ... )`.
	 * @param WP_Post                $post             The current post object.
	 */
	$post_states_html = apply_filters( 'post_states_html', $post_states_html, $post_states, $post );

	if ( $display ) {
		echo $post_states_html;
	}

	return $post_states_html;
}
```

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

- 5.3.0 — Added the $display parameter and a return value.
- 2.7.0 — Introduced.

## Связанные

Использует: [`wp_get_list_item_separator`](https://chugunov.pro/api-wordpress/functions/wp_get_list_item_separator/), [`get_post_states`](https://chugunov.pro/api-wordpress/functions/get_post_states/), [`apply_filters`](https://chugunov.pro/api-wordpress/functions/apply_filters/).
Используется в: `WP_Posts_List_Table::column_title`, `Walker_Nav_Menu_Checklist::start_el`.

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