На платформе WordPress часто возникает необходимость добавления собственного статуса публикации записи. Это особенно актуально, когда над контентом работает множество авторов. Создание дополнительного статуса поможет улучшить организацию рабочего процесса в редакции.
Для добавления нового статуса публикации необходимо использовать функцию register_post_status(). Эта функция позволяет создать кастомные статусы, которые затем можно использовать при публикации или редактировании записей.
Пример кода для добавления нового статуса:
function my_custom_post_status() {
register_post_status('pending_review', array(
'label' => _x('На рассмотрении', 'post'),
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop('На рассмотрении (%s)', 'На рассмотрении (%s)')
));
}
add_action('init', 'my_custom_post_status');
После добавления кода необходимо обновить функции, чтобы новый статус стал доступен в редакторе записей. Также не забудьте обновить мета-боксы для статусов, чтобы ваш новый статус отображался в списке статусов записи.
Используйте следующий код для добавления статуса к мета-боксам:
function add_custom_status_to_posts() {
global $post;
if ($post->post_type == 'post') {
echo '';
}
}
add_action('admin_footer', 'add_custom_status_to_posts');
После добавления статуса не забудьте обновить его стили, чтобы пользовательский статус выглядел так же, как стандартные статусы WordPress. Например, вы можете использовать CSS для изменения цвета фона или шрифта.
Таким образом, добавляя и настраивая новые статусы публикации, вы сможете более эффективно управлять контентом и рабочим процессом в вашей команде, что особенно полезно при работе над большим количеством материалов.
Что такое статус публикации записей в WordPress?
Перед тем как добавлять что-либо на сайт, важно понять, что представляют собой статусы публикации и в чем их необходимость.
Статус публикации — это инструмент редактора, который информирует WordPress о текущей стадии работы над записью во время редактирования. Например, записи, не завершенные до конца, сохраняются со статусом “Черновик”, а после публикации статус изменяется на “Опубликовано”.

Статус публикации необходим для того, чтобы система могла корректно обрабатывать и отображать запись на сайте. Например, записи со статусом черновика не показываются на главной странице и в других открытых областях сайта.
Кроме статуса «Черновик» и «Опубликовано», WordPress поддерживает несколько других статусов публикации. Например, статус “Ожидает проверки” присваивается записям, которые требуют модерации перед публикацией. Статус “Удалено” означает, что запись была удалена, а статус “Приватная” позволяет ограничить доступ к записи только для определенных пользователей.
Важно также отметить, что вы можете изменять статусы публикации даже после первоначальной публикации записи. Это позволяет гибко управлять контентом на сайте, изменяя видимость и доступность записей для посетителей в зависимости от ситуации.
Использование статусов публикации поможет вам организовать ваши записи, упростить процесс редактирования и сделать управление контентом более эффективным.
Какими бывают статусы публикации в WordPress?
Стандартно WordPress предоставляет следующие статусы публикации:
- Черновик (Draft) — запись, которая сохранена в базе данных, но ещё не завершена. Черновики могут быть отредактированы и опубликованы позже.
- Автосохраненный черновик (Auto draft) — функция автоматического сохранения, которая сохраняет черновик как ревизию. Эта функция помогает избежать потери контента при случайном закрытии редактора.
- Ожидает проверки (Pending) — записи, готовые к публикации, но ожидающие одобрения. Чаще всего этот статус используется для контента, который требует проверки со стороны редакторов или администраторов.
- Запланированная (Future) — записи, которые были проверены редактором и ожидают своей публикации. Вы можете установить точную дату и время, когда публикация должна стать доступной для читателей.
- Приватная (Private) — записи, доступные только администраторам для просмотра и редактирования. Этот статус полезен для публикации контента, который не должен быть виден публике.
- Удаленная (Trash) — записи, помещенные в Корзину. Записи в данной категории можно восстановить или окончательно удалить.
- Дочерняя (Inherit) — дочерние записи, которые автоматически принимают статус родительской записи. Этот статус позволяет создать иерархию записей, упрощая организацию контента на сайте.
Дополнительно важно отметить, что WordPress также поддерживает настройки уведомлений для авторов и редакторов о изменениях статуса публикаций, что способствует лучшему взаимодействию между участниками команды. Пользователи могут легко фильтровать записи по статусам, что упрощает управление контентом на сайте.
Как в WordPress создать собственный статус публикации для записей?
Кроме упомянутых стандартных статусов, в WordPress вы также можете создавать индивидуальные, чтобы сделать редакционный процесс более эффективным. Например, можно добавить ярлык “Не подходит” для записей, которые были завершены, но не предназначены для публикации.
Существует несколько способов добавления пользовательских статусов. Рассмотрим наиболее популярные из них.
Способ 1. Создание пользовательского статуса записи с помощью плагина
Этот подход является наиболее простым и будет удобен для большинства пользователей.
Плагин Edit Flow предлагает множество функций, которые можно настраивать. Для создания нового статуса необходимо нажать кнопку Редактировать статусы в разделе Клиентские статусы, после чего откроется страница для редактирования или создания статусов публикаций.

На странице видно, что плагин уже создал несколько статусов. Вы можете добавить свой пользовательский статус, введя его название и описание в левой части интерфейса. После завершения нужно нажать кнопку Добавить новый статус, чтобы сохранить изменения. Созданный статус появится в правом столбце, где его можно редактировать или удалять.

Чтобы применить статус к конкретной записи, откройте её для редактирования (или создайте новую), затем в блоке Опубликовать выберите нужный статус.

Способ 2. Создание пользовательского статуса записи с использованием кода
Этот метод будет полезен тем, кто не хочет устанавливать дополнительные плагины на своём сайте. Для этого требуется добавить специальный PHP-код в файл functions.php вашей активной темы WordPress.
Если вы не уверены, как редактировать файл functions.php, то можете воспользоваться плагином ProFunctions.
Далее в указанный файл нужно вставить следующий код:
function site_custom_post_status() { register_post_status( 'custom_status', array( 'label' => _x( 'Мой статус', 'post' ), 'public' => false, 'exclude_from_search' => false, 'show_in_admin_all_list' => true, 'show_in_admin_status_list' => true, 'label_count' => _n_noop( 'Мой статус (%s)', 'Мой статус (%s)' ), ) ); } function site_append_post_status_list() { global $post; $complete = ''; $label = ''; if( $post->post_type == 'post' ) { if( $post->post_status == 'custom_status' ) { $complete = ' selected="selected"'; $label = 'Мой статус'; } } echo ' '; } add_action( 'init', 'site_custom_post_status' ); add_action( 'admin_footer-post.php', 'site_append_post_status_list' );
Представленный код создаёт новый статус с названием “Мой статус”, которое можно изменить на желаемое.
Также ознакомьтесь с тем, как создать пользовательский тип записей в WordPress с помощью функции register_post_type.
Дополнительные советы
При создании пользовательских статусов помните о том, что их следует использовать исключительно для оптимизации рабочего процесса вашей команды. Чрезмерное количество статусов может запутать пользователей и затруднить поиск нужной информации.
Также, учтите, что пользовательские статусы могут не отображаться в интерфейсе на стороне клиента. Если вы хотите, чтобы они были видимы для пользователей, вам может понадобиться дополнительно настроить вывод статусов в шаблонах вашей темы.
После создания статусов рекомендуется протестировать их функциональность. Убедитесь, что все статусы работают корректно и отображаются там, где это необходимо.