get_post_status_object() WP 3.0.0

Отримує об’єкт даних вказаного статусу запису (поста).

Статус запису реєструється функцією register_post_status() , ця функція отримує об’єкт даних, отриманий після реєстрації статусу запису.

Використовує глобальну змінну $wp_post_statuses , яка зберігає масив об’єктів статусів записів.

Також дивіться хуки, які спрацьовують при зміні статусу запису: wp_transition_post_status() .

1 раз – 0.000001 сек
(швидкість світла) | 50000 разів – 0.09 сек
(швидкість світла) |
PHP 7.2.16, WP 5.2.2

Хуків немає.

Повертає

stdClass|null. Об’єкт статусу.

Використання

get_post_status_object($post_status);
$post_status
(рядок) (обов’язковий)

Назва зареєстрованого статусу запису.

Список статусів, які зареєстровані в WordPress за замовчуванням:

  • publish– Опублікований пост (сторінка або тип запису).
  • pending– Запис на розгляді перед публікацією.
  • draft– чернетка запису.
  • auto-draft– лише створений пост, ще без заголовка, контенту та іншої інформації.
  • future– запис запланований до публікації у майбутньому.
  • private– запис не доступний не авторизованим користувачам.
  • inherit– ревізія чи вкладення (revision or attachment). Дивіться get_children() .
  • trash– запис, що знаходиться в кошику.

Весь список статусів дивіться у коді функції create_initial_post_types() , там WP реєструє дефолтні статуси.

Приклади

0

#1 Подивимося, що повертає функція для різних статусів запису.

$post_status_obj = get_post_status_object('draft');
/*
stdClass Object(
	[label] => Чернетка
	[label_count] => Array
		(
			[0] => Draft (%s)
			[1] => Drafts (%s)
			[singular] => Draft (%s)
			[plural] => Drafts (%s)
			[context] =>
			[domain] =>
		)

	[exclude_from_search] =>
	[_builtin] => 1
	[public] =>
	[internal] =>
	[protected] => 1
	[private] =>
	[publicly_queryable] =>
	[show_in_admin_status_list] => 1
	[show_in_admin_all_list] => 1
	[name] => draft
)
*/
$post_status_obj = get_post_status_object( 'publish');
/*
stdClass Object(
	[label] => Опубліковано
	[label_count] => Array
		(
			[0] => Published (%s)
			[1] => Published (%s)
			[singular] => Published (%s)
			[Plural] => Published (%s)
			[context] =>
			[domain] =>
		)

	[exclude_from_search] =>
	[_builtin] => 1
	[public] => 1
	[internal] =>
	[protected] =>
	[private] =>
	[publicly_queryable] => 1
	[show_in_admin_status_list] => 1
	[show_in_admin_all_list] => 1
	[name] => publish
)
*/
$post_status_obj = get_post_status_object( 'auto-draft');
/*
stdClass Object(
	[label] => auto-draft
	[label_count] => Array
		(
			[0] => auto-draft
			[1] => auto-draft
			[singular] => auto-draft
			[plural] => auto-draft
			[context] =>
			[domain] =>
		)

	[exclude_from_search] => 1
	[_builtin] => 1
	[public] =>
	[internal] => 1
	[protected] =>
	[private] =>
	[publicly_queryable] =>
	[show_in_admin_status_list] =>
	[show_in_admin_all_list] =>
	[name] => auto-draft
)
*/

нотатки

список змін

З версії 3.0.0Введено.

Код get_post_status_object() WP 6.0.2

function get_post_status_object( $post_status ) {
	global $wp_post_statuses;

	if ( empty( $wp_post_statuses[ $post_status ] ) ) ) {
		return null;
	}

	return $wp_post_statuses[$post_status];
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *