get_post_status_object() в WordPress: Получение объекта статуса записи

# get_post_status_object() │ WP 3.0.0

Функция get_post_status_object() позволяет получить объект статуса записи по его имени. Этот объект содержит информацию о статусах, таких как "Черновик" или "Опубликовано".

## Основная информация

- **Время выполнения**: 1 раз — 0.000001 сек (скорость света) | 50000 раз — 0.09 сек (скорость света)
- **PHP версия**: 7.2.16, WP 5.2.2
- **Хуки**: Нет

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

Функция возвращает объект типа stdClass или null. Это объект, представляющий статус записи.

## Использование

Чтобы использовать эту функцию, выполните следующий код:

```php
get_post_status_object( $post_status );

Параметры

  • $post_status (строка, обязательный) — имя зарегистрированного статуса записи.

Примеры использования

Пример 1: Получение объекта статуса "черновик"

$post_status_obj = get_post_status_object( 'draft' );

Результат будет выглядеть так:

stdClass Object(
    [label] => Черновик
    [label_count] => Array
        (
            [0] => Черновик (%s)
            [1] => Черновики (%s)
            [singular] => Черновик (%s)
            [plural] => Черновики (%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
)

Пример 2: Получение объекта статуса "опубликовано"

$post_status_obj = get_post_status_object( 'publish' );

Результат:

stdClass Object(
    [label] => Опубликовано
    [label_count] => Array
        (
            [0] => Опубликовано (%s)
            [1] => Опубликованные (%s)
            [singular] => Опубликовано (%s)
            [plural] => Опубликованные (%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
)

Пример 3: Получение объекта статуса "авто-черновик"

$post_status_obj = get_post_status_object( 'auto-draft' );

Результат:

stdClass Object(
    [label] => авто-черновик
    [label_count] => Array
        (
            [0] => авто-черновик
            [1] => авто-черновик
            [singular] => авто-черновик
            [plural] => авто-черновик
            [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
)

Примечания

  • Глобальная переменная: $wp_post_statuses — список статусов записей.
  • Ознакомьтесь с функцией register_post_status(), если хотите узнать, как регистрировать новые статусы.

Изменения

  • Функция была введена в версии 3.0.0.

Код функции

Вот как выглядит функция в коде WordPress:

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 ];
}

Связанные функции

  • get_post_stati()
  • get_post_status()
  • get_post_statuses()
  • get_status_header_desc()
  • register_post_status()
  • wp_set_comment_status()
  • wp_transition_comment_status()
  • wp_transition_post_status()

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *