Как добавить и автоматизировать собственные статусы заказов в WooCommerce

WooCommerce из коробки предлагает ограниченный набор статусов заказов, таких как 'В ожидании', 'Обрабатывается', 'Завершён' и несколько других. Однако в реальном бизнесе часто требуется добавлять собственные статусы заказов для более точного управления процессом. В этой статье мы подробно рассмотрим, как добавить новые статусы заказов в WooCommerce и автоматизировать их смену с помощью кода.

Почему стоит использовать собственные статусы заказов в WooCommerce

Стандартные статусы не всегда покрывают все этапы обработки заказа. Например, если у вас есть дополнительный этап проверки или комплектации, или вы хотите выделить заказы, ожидающие подтверждения оплаты или доставки, собственные статусы помогут структурировать процесс.

Кроме того, с помощью собственных статусов можно настроить автоматическую смену статусов, уведомления клиентов и интеграцию с другими системами, что улучшит управление заказами и повысит прозрачность для клиентов и сотрудников.

Добавление нового статуса заказа в WooCommerce

Для начала зарегистрируем новый статус заказа. Добавьте следующий код в файл functions.php вашей темы или в отдельный плагин:

function wporder_register_custom_order_status() {
    register_post_status( 'wc-awaiting-shipment', array(
        'label'                     => 'Ожидает отгрузки',
        'public'                    => true,
        'exclude_from_search'       => false,
        'show_in_admin_all_list'    => true,
        'show_in_admin_status_list' => true,
        'label_count'               => _n_noop( 'Ожидает отгрузки <span class="count">(%s)</span>', 'Ожидает отгрузки <span class="count">(%s)</span>' ),
    ) );
}
add_action( 'init', 'wporder_register_custom_order_status' );

Этот код создаёт новый статус wc-awaiting-shipment с ярлыком 'Ожидает отгрузки'. Важно использовать префикс wc- для статусов WooCommerce.

Добавление нового статуса в список доступных статусов заказов

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

function wporder_add_custom_order_statuses( $order_statuses ) {
    $new_statuses = array();
    foreach ( $order_statuses as $key => $status ) {
        $new_statuses[ $key ] = $status;
        if ( 'wc-processing' === $key ) {
            $new_statuses['wc-awaiting-shipment'] = 'Ожидает отгрузки';
        }
    }
    return $new_statuses;
}
add_filter( 'wc_order_statuses', 'wporder_add_custom_order_statuses' );

Мы добавляем новый статус сразу после статуса 'Обрабатывается' (processing), но вы можете выбрать любое место.

Автоматическая смена статуса заказа по определённым условиям

Далее рассмотрим пример, как автоматически переводить заказ в статус 'Ожидает отгрузки' после успешной оплаты:

function wporder_automate_status_after_payment( $order_id ) {
    if ( ! $order_id ) {
        return;
    }
    $order = wc_get_order( $order_id );
    if ( ! $order ) {
        return;
    }
    // Проверяем, что заказ оплачен и в статусе 'processing'
    if ( $order->is_paid() && 'processing' === $order->get_status() ) {
        $order->update_status( 'awaiting-shipment', 'Автоматический переход в статус "Ожидает отгрузки" после оплаты' );
    }
}
add_action( 'woocommerce_order_status_processing', 'wporder_automate_status_after_payment' );

Этот код отслеживает момент, когда заказ переходит в статус 'processing' (обычно после оплаты) и меняет его на наш собственный статус.

Отображение собственного статуса в пользовательской части сайта

Чтобы клиенты видели новый статус в личном кабинете и на страницах заказа, WooCommerce автоматически подхватывает зарегистрированные статусы. Если хотите изменить отображение или добавить перевод, используйте фильтр woocommerce_my_account_my_orders_actions или добавьте локализацию.

Использование плагинов для расширения статусов заказов

Если не хотите писать код, можно использовать плагины, которые добавляют и автоматизируют статусы заказов. Рекомендуем обратить внимание на:

  • Clearfy Pro — содержит инструменты для оптимизации и управления WooCommerce, включая расширенные статусы.
  • Expert Review — помогает автоматизировать процессы с отзывами и статусами заказов.

Использование таких плагинов экономит время и упрощает интеграцию с другими функциями сайта.

Заключение и рекомендации по использованию

Добавление собственных статусов заказов в WooCommerce — мощный инструмент для тонкой настройки бизнес-процессов. Код, приведённый в статье, можно адаптировать под любые задачи: добавлять новые статусы, менять их порядок, автоматизировать переходы. Важно тестировать изменения на тестовом сайте перед внедрением в рабочем окружении.

Также не забывайте, что автоматизация статусов в связке с уведомлениями и отчетами значительно улучшит управление заказами и повысит лояльность клиентов.

Автоматическое установление и настройка WooCommerce через код в WordPress
19.03.2026
Автоматическое создание заказов через REST API в WordPress
15.02.2026
Создание персонализированного виджета WordPress
01.12.2025
Автоматическое создание и отправка push-уведомлений при изменении заказов WordPress
26.12.2025
Как добавить и автоматизировать собственные статусы заказов в WooCommerce
30.03.2026