Функция GET_POST_STATUSES() в WordPress
Функция get_post_statuses() предназначена для получения всех поддерживаемых в WordPress статусов записей. В WordPress есть ограниченный набор допустимых значений статусов, и эта функция возвращает подробный список статусов и их описания.
Возврат значения
Функция возвращает массив строк, где ключами являются статусы записей, а значениями — их названия.
Использование
Для того чтобы использовать функцию, просто вызовите её:
get_post_statuses();
Примеры использования
Пример 1: Получение всех зарегистрированных статусов
Вы можете получить все стандартные статусы записей с помощью следующего кода:
$statuses = get_post_statuses();
/* $statuses будет содержать массив:
Array
(
[draft] => Черновик
[pending] => На рассмотрении
[private] => Личный
[publish] => Опубликовано
)
*/
Пример 2: Получение всех статусов, включая пользовательские
Если вы хотите увидеть все статусы, включая пользовательские, вы можете использовать следующий код в хуке init:
add_action( 'init', function () {
global $wp_post_statuses;
var_dump( $wp_post_statuses );
// Результат... с 'custom_status'
/*
array(
"publish",
"future",
"draft",
"pending",
"private",
"trash",
"auto-draft",
"inherit",
"custom_status" // <-- вот и он
)
*/
}, PHP_INT_MAX );
Важно!
Обратите внимание, что функция get_post_statuses() возвращает фиксированный список статусов. Этот список не включает некоторые статусы, такие как "future" (будущий).
Чтобы увидеть полный список всех доступных статусов записей в вашей установке WordPress, используйте функцию get_post_stati().
Изменения
Функция была добавлена в WordPress начиная с версии 2.5.0.
Код функции get_post_statuses
Вот код функции, который вы можете найти в файле wp-includes/post.php:
function get_post_statuses() {
$status = array(
'draft' => __( 'Черновик' ),
'pending' => __( 'На рассмотрении' ),
'private' => __( 'Личный' ),
'publish' => __( 'Опубликовано' ),
);
return $status;
}
Связанные функции
Вот некоторые связанные функции, которые могут быть полезны:
get_post_stati()get_post_status()get_post_status_object()get_status_header_desc()register_post_status()wp_set_comment_status()wp_transition_comment_status()wp_transition_post_status()
Эти функции могут помочь вам в работе с состояниями записей и комментариев в WordPress.