Добавление своего статуса для поста wordpress

  • Роман Цуканов
    Разработчик
  • Дата публикации
    28.12.2022
  • Категория
    Wordpress
Задача:Добавить собственный тип постов для фильтрации по нему в административной части сайта.

Очень часто не хватает классических статусов для постов, чтобы их обрабатывать. У нас была огромная excel таблица, в которой было куча информации и шагов. Потом — просто добавили все необходимые статусы, и работаем внутри админки

Сам сниппет, для добавления своего статуса:

function postWaitingForText() {
    register_post_status( 'waiting_for_text', array(
        'label' => _x( 'В ожидании текста', 'post' ),
        'public' => false,
        'exclude_from_search' => false,
        'show_in_admin_all_list' => true,
        'show_in_admin_status_list' => true,
        // 'internal' => true,
        'label_count' => _n_noop( 'В ожидании текста <span class="count">(%s)</span>', 'В ожидании текста <span class="count">(%s)</span>' ),
    ) );
}

function postWaitingForTextAppendPostStatusList() {
    global $post;
    $complete = '';
    $label = 'В ожидании текста';

    if( $post->post_type == 'post' ) {

        if( $post->post_status == 'waiting_for_text' ) {
            $complete = ' selected=\"selected\"';
            echo '
                <script>
                    jQuery("#post-status-display").text("'.$label.'");
                </script>';
        }

        echo '
            <script>
            jQuery(document).ready(function($){
                jQuery("select#post_status").append("<option value=\"waiting_for_text\" '.$complete.'>'.$label.'</option>");
            });
            </script>';
    }
}

add_action( 'init', 'postWaitingForText' );
add_action( 'admin_footer', 'postWaitingForTextAppendPostStatusList' );

Когда это может быть полезно? Да всегда. У нас, например 1 человек создает черновик, в котором только название статьи. Второй — заказывает текст, а третий текста обрабатывает. В итоге есть определенная цепочка действий. Мы убрали любые иные прокладки и приложения/таблицы и используем только статусы

Еще нет коммментариев. Будь первым!

Оформить заказ в Devstages