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

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

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

1
2
3
4
5
6
7
8
9
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

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

Источник: misha.blog

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

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: