Как добавить свой статус в быстрое редактирование постов

Как-то раз я написал подробнейший пост про регистрацию собственного статуса записи в WP. В нём я старался осветить практически все моменты, но про один я всё же забыл — про добавление статуса в меню «Свойства» (быстрое редактирования поста).

Итак, давайте приступим. Обратите внимание, в этом посту подразумевается, что вы уже создали какой-то свой статус, у меня это — «Архив».

add_action('admin_footer-edit.php','true_dobavlenie_statusa');
 
function true_dobavlenie_statusa() {
	echo "<script>
	jQuery(document).ready( function($) {
		$( 'select[name=\"_status\"]' ).append( '<option value=\"archive\">Архив</option>' );
	});
	</script>";
}

Комментарии к коду:

  • Код вставляем в functions.php вашей темы. Но это необязательно, просто вставляйте куда хотите, если знаете что делаете.
  • Для начинающих на всякий случай уточню (потому что часто делается такая ошибка), что если ваш файл functions.php пустой, то на его первую строку не помешает также добавить <?php.
  • 1-3. Обратите внимание на фильтр admin_footer-edit.php — это означает, что код будет применяться в админке только к страницам со списком записей wp-admin/edit.php, страниц wp-admin/edit.php?post_type=page и произвольных типов постов wp-admin/edit.php?post_type=тип_поста.
  • 6. Вы наверное заметили, что тут я не использовал jQuery-функцию each() — дело в том, что HTML быстрых настроек только один на странице, просто для каждого поста в него подставляются разные значения. По той же причине у элемента <option> нет атрибута selected.
  • Задействовав фукнцию get_post_stati(), вы сможете добавить в быстрое редактирование абсолютно все существующие статусы записей, только будьте внимательны — некоторые из них не изменяются корректно с использованием этого способа.

Вот что у меня в итоге получилось:

добавление произвольного статуса в меню быстрого редактирования поста

А у вас? Если да, то возможно некоторые из вас сразу задались вопросом — можно ли для новых статусов добавлять метки, так же, как они добавляются для черновиков, записей на модерации и пр. Чтобы было понятно, то вот скриншот:

метки статусов в WordPress

У меня есть небольшое руководство относительно того, как это сделать тут.

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Комментарии — 6

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.

Миша Рудрастых и WordPress

Полезности из мира WordPress и жизни студии.

Мой телеграм-канал