register_post_status()
Функция для создания нового или редактирования старого статуса поста, на основе переданных параметров.
Эта функция должна вызываться во время или после события init
.
Эта функция не добавляет новый зарегистрированный статус записи в админ-панель. Функция в процессе разработки.
Используйте get_post_status_object(), чтобы получить данные зарегистрированного статуса.
post_status
должен быть не более 20 символов! Такое ограничение установлено в БД для поля post_status
. Если указать строку длиннее, то все лишнее будет обрезано. См. схему таблицы wp_posts.
Хуков нет.
Возвращает
Объект
.
Использование
register_post_status( $post_status, $args );
- $post_status(строка) (обязательный)
Название статуса поста.
Статусы уже зарегистрированные в WP:
publish
- опубликованный пост;inherit
- ревизия;pending
- на проверке;private
- личная запись (доступна только автору);future
- публикация в будущем;draft
- черновик;trash
- запись находится в корзине.
- $args(строка/массив)
Массив аргументов статуса поста. По умолчанию:
// Аргументы с начальным _ зарезервированы для внутреннего использования. $defaults = array( 'label' => false, 'label_count' => false, 'exclude_from_search' => null, '_builtin' => false, 'public' => null, 'internal' => null, 'protected' => null, 'private' => null, 'publicly_queryable' => null, 'show_in_admin_status_list' => null, 'show_in_admin_all_list' => null, );
-
label(строка)
Описывающее название для статуса поста, предназначенное для перевода.
По умолчанию: $post_status -
label_count(строка)
Текст отображаемый в консоли админ панели (если вы не хотите количество записей с этим статусом).
По умолчанию: false -
exclude_from_search(логический)
Исключить ли посты с этим статусом из результатов поиска. true - исключить.
По умолчанию: значение $internal -
public(логический)
Показывать ли посты с этим статусом в лицевой части сайта. true - показывать.
По умолчанию: null -
$internal(true/false)
Статус предназначен только для внутреннего использования.
Default: false -
$protected(true/false)
Должен ли быть пост с этим статусом защищенным (protected)?
Default: false -
$private(true/false)
Должен ли быть пост с этим статусом приватным?
Default: false -
$publicly_queryable(true/false)
Должен ли пост с этим статусом участвовать в публичных запросах?
Default: значение $public -
show_in_admin_all_list(логический)
Включить ли записи с этим статусом в список записей в админ-панели для. true - включить.
По умолчанию: значение $internal -
show_in_admin_status_list(логический)
Показывать ли статус в списке статусов вверху таблицы постов:По умолчанию: значение $internal
- $_builtin(true/false)
Является ли статус встроенным. Только для использования ядром.
Default: false
-
Примеры
#1 Пример регистрации статуса поста под названием Unread
:
add_action( 'init', 'my_custom_post_status' ); function my_custom_post_status(){ register_post_status( 'unread', array( 'label' => _x( 'Unread', 'post' ), 'public' => true, 'exclude_from_search' => false, 'show_in_admin_all_list' => true, 'show_in_admin_status_list' => true, 'label_count' => _n_noop( 'Unread <span class="count">(%s)</span>', 'Unread <span class="count">(%s)</span>' ), ) ); }
Заметки
- Global. stdClass[]. $wp_post_statuses Inserts new post status object into the list
Список изменений
С версии 3.0.0 | Введена. |