1. Основные статусы заказа в WooCommerce WooCommerce предоставляет следующие стандартные статусы заказов: 1. Ожидает оплаты (Pending Payment) Этот статус присваивается, когда заказ был создан, но оплата еще не была получена. Обычно используется для заказов, оформленных, но не оплаченных сразу (например, через банковский перевод или чек). 2. Не выполнен (Processing) Этот статус устанавливается, когда платеж был успешно получен, но заказ еще не был полностью выполнен (обычно для физических товаров, которые требуют отправки). Статус показывает, что заказ находится в процессе выполнения. 3. Выполнен (Completed) Этот статус присваивается, когда заказ был полностью выполнен и доставлен клиенту. Этот статус обычно устанавливается после того, как товар отправлен покупателю. 4. В ожидании (On Hold) Этот статус используется, когда заказ был отложен для ожидания дополнительных действий, таких как подтверждение оплаты или уточнение деталей заказа. 5. Отменен (Cancelled) Заказ получает этот статус, когда был отменен либо администратором, либо покупателем до его завершения. Заказ с этим статусом не требует дальнейших действий. 6. Возврат (Refunded) Статус присваивается заказу, если покупателю была возвращена сумма за заказ. Этот статус можно установить вручную или автоматически через платёжные шлюзы, которые поддерживают возвраты. 7. Неудачный (Failed) Этот статус означает, что попытка оплаты заказа не удалась. Обычно он устанавливается автоматически при ошибке транзакции через платёжный шлюз. 2. Как изменять статус заказа Ручное изменение статуса заказа: Перейдите в WooCommerce > Заказы в панели администратора Найдите заказ, который нужно изменить, и нажмите на его номер или кнопку Изменить В правой части экрана, в разделе Данные заказа, найдите выпадающее меню Статус Выберите нужный статус заказа (например, "Выполнен", "Отменен" и т.д.) Нажмите Обновить, чтобы сохранить изменения 3. Автоматическое изменение статусов WooCommerce автоматически изменяет статус заказа в зависимости от определённых действий. Например: ? После успешной оплаты заказ переходит в статус Не выполнен (Processing) ? После ручной отправки заказа администратор может изменить статус на Выполнен (Completed) Некоторые платёжные шлюзы также могут автоматически изменять статусы заказов (например, переводить заказ в статус "Неудачный" при сбое платежа). 4. Добавление пользовательских статусов заказа Если ваш процесс выполнения заказов требует более детальной градации, вы можете создать свои собственные пользовательские статусы заказа. Пример кода для добавления пользовательского статуса: Откройте файл functions.php вашей темы Добавьте следующий код: // Регистрируем новый статус заказа function register_custom_order_status() { register_post_status( 'wc-awaiting-shipment', array( 'label' => _x( 'Ожидает отправки', 'Order status', 'woocommerce' ), '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', 'register_custom_order_status' ); // Добавляем новый статус в список статусов заказов WooCommerce function add_custom_order_status_to_woocommerce( $order_statuses ) { $new_order_statuses = array(); // Вставляем новый статус в нужное место foreach ( $order_statuses as $key => $status ) { $new_order_statuses[ $key ] = $status; if ( 'wc-processing' === $key ) { // После статуса "Не выполнен" $new_order_statuses['wc-awaiting-shipment'] = _x( 'Ожидает отправки', 'Order status', 'woocommerce' ); } } return $new_order_statuses; } add_filter( 'wc_order_statuses', 'add_custom_order_status_to_woocommerce' ); Этот код добавляет новый статус "Ожидает отправки" в WooCommerce, который можно использовать для отслеживания заказов, которые готовы к отправке. 5. Автоматизация изменения статусов заказов Пример кода для автоматической смены статуса на "Выполнен" после оплаты для цифровых товаров: // Автоматически переводим заказ в статус "Выполнен" после оплаты для простых товаров add_action( 'woocommerce_payment_complete', 'auto_complete_order' ); function auto_complete_order( $order_id ) { $order = wc_get_order( $order_id ); // Проверяем, является ли заказ цифровым (без физической доставки) if ( $order->get_downloadable_items() || $order->get_virtual_items() ) { $order->update_status( 'completed' ); } } 6. Отображение статусов заказов для клиентов Пример кода для кастомизации отображения статусов заказа: // Переопределяем отображение статусов заказа для страницы "Мои заказы" function custom_order_statuses( $statuses, $order ) { // Заменяем текст статуса "Не выполнен" на "В процессе" if ( 'processing' === $order->get_status() ) { $statuses['processing'] = 'В процессе'; } return $statuses; } add_filter( 'wc_order_statuses', 'custom_order_statuses', 10, 2 ); 7. Плагины для работы со статусами заказов Популярные плагины: WooCommerce Order Status Manager > Позволяет создавать и управлять пользовательскими статусами заказов > Автоматически отправляет уведомления клиентам Advanced Order Status for WooCommerce > Позволяет добавлять новые статусы заказов > Автоматизирует процесс изменения статусов WooCommerce Order Status Control > Автоматически переводит заказы в статус "Выполнен" > Особенно полезен для магазинов цифровых товаров Статусы заказа в WooCommerce помогают организовать и отслеживать выполнение заказов на всех этапах — от оформления до доставки. WooCommerce предоставляет удобный набор стандартных статусов, но вы можете создавать и настраивать собственные статусы, если вам нужно больше гибкости в управлении заказами. С помощью плагинов и кастомного кода можно автоматизировать процесс смены статусов, улучшая эффективность работы магазина и взаимодействие с клиентами.