Как автоматически менять статус заказа в WooCommerce
Когда посетитель делает оплату на сайте, платежный шлюз передает его на сервис приема оплаты.
Если оплата прошла успешно, то платежный сервис отправляет сообщение шлюзу, что деньги поступили на счет.
После этого платежный шлюз передает сигнал в Вукоммерс для изменения статуса заказа.
Если все работает правильно, то покупатель после оплаты товара или услуги получает уведомление об успешной оплате и доступ к оплаченному товару / контенту.
Если неправильно, то покупатель начинает волноваться, писать в поддержку, а вам нужно найти и проверить платеж вручную.
Чтобы не заставлять покупателей беспокоиться, а вам не проверять каждый платеж вручную, вы можете настроить автоматическое изменение статуса заказа.
В этой статье вы узнаете, как автоматически менять статус заказа в WooCommerce c помощью снипета для файла functions.php, или с помощью плагина.
Содержание:
Управление статусами заказов
Как работает изменение статуса заказа в WooCommerce
Как изменить статус заказа автоматически
- Как менять статусы всех заказов после оплаты
- Изменение статуса заказа по ID заказа
- Изменение статуса заказа для постоянных клиентов
Как создать собственный статус заказа
Плагины для изменения статуса заказа
- Order Status Rules for WooCommerce
- Ni WooCommerce Custom Order Status
- WooCommerce Order Status Manager
- YITH WooCommerce Custom Order Status
Управление статусами заказов
Каждый интернет-магазин индивидуален и имеет свои требования.
Некоторые интернет-магазины могут вообще не использовать статусы заказа, или использовать только некоторые из них. Например, если покупатель не может вернуть товар, магазину может быть не нужен статус «Возвращён».
Другим магазинам может быть недостаточно статусов заказа по умолчанию, и им требуется собственный / кастомный статус или какое-то автоматизированное решение для управления статусом заказов.
Для этих случаев вы можете использовать решения из этой статьи, тогда менеджеру магазина не нужно обновлять статус заказа вручную после каждой продажи.
Как работает изменение статуса заказа в WooCommerce
Статусы заказа меняются динамически, когда платежные шлюзы подключены к WooCommerce.
Обратите внимание, если вы обновите статус заказа вручную вместо платежного шлюза, это может нарушить его правильную работу.
Когда посетитель нажимает на кнопку Оформление заказа, заказу присваивается статус «Ожидается оплата».
После этого платежный шлюз переводит заказ в статус «На удержании», а затем на «Обработка». Если что-то не получилось, то статус заказа меняется на «Не удался».
После этого Вукоммерс больше ничего делать не будет. Менеджер магазина должен вручную отметить заказ как «Выполнен» или «Отменён».
На этом этапе можно менять статус заказа, потому что платеж прошел успешно, деньги зачислены на счет.
После получения оплаты Вукоммерс переводит заказ в статус «На удержании»
Обратите внимание, когда статус заказа меняется на «Обработка» или «Возвращён», остаток товара в наличии тоже меняется. Также меняется вся остальная статистика, которая относится к этому товару.
Как изменить статус заказа автоматически
Добавляйте эти снипеты в файл functions.php дочерней темы, или с помощью специального плагина.
Не добавляйте снипеты напрямую в functions.php текущей темы, потому что при следующем обновлении темы этот файл будет заменен на оригинальный.
Как менять статусы всех заказов после оплаты
Если в вашем магазине нет платежного шлюза, вы можете переводить все заказы в статус «На удержании» сразу после размещения заказа, вместо того, чтобы оставлять его в статусе «Ожидается оплата».
Добавьте этот скрипт в functions.php:
Если платежный шлюз есть, и после получения оплаты он переводит заказ в статус «Обработка», то вы можете использовать этот скрипт, чтобы автоматически переводить заказ из статуса «Обработка» в статус «Выполнен»:
Эти два скрипта отличаются только статусом заказа wc-on-hold
и completed
в строке 5.
В одном случае статус заказа используется с префиксом wc-
, в другом — без префикса. Работать будет в обоих случаях, но рекомендуется использовать префикс, то есть wc-completed
.
Также вы можете использовать любой другой статус заказа, включая кастомные статусы.
Изменение статуса заказа по ID заказа
Этот скрипт изменит статус отдельного заказа. Например, чтобы изменить статус заказа с ID 250, добавьте этот снипет:
Измените ID заказа в строке 2, и нужный статус в строке 3.
Статус этого заказа нельзя изменить другим способом, пока этот скрипт работает.
Изменение статуса заказа для постоянных клиентов
Этот скрипт меняет статус заказа на «Выполнен», если у покупателя есть предыдущие заказы со статусами «Выполнен» или «Обработка»:
Это хороший способ уменьшить вероятность ложного срабатывания при переключении статуса и увеличить лояльность постоянных клиентов.
Как добавить собственный статус заказа
Если существующие статусы заказа вам не подходят, то вы можете создать свой собственный статус заказа.
Следующий скрипт зарегистрирует новый статус и добавит его в список статусов WooCommerce. Вы можете использовать этот статус с любым из скриптов из этой статьи.
В этом примере статус будет называться В процессе (In progress):
Вы можете назвать статус по-своему, просто отредактируйте скрипт.
Плагины для изменения статуса заказа
Если вы не хотите работать с кодом, попробуйте эти бесплатные или платные плагины:
Order Status Rules for WooCommerce
Платный и бесплатный плагин, который меняет статусы заказов С — НА по прошествии определенного времени, например, изменить статус «Обработка» на «Выполнен» через 5 секунд. Или с «Обработка» на «Отменён» через 3 дня.
У плагина есть платная версия с большим количеством условий.
Ni WooCommerce Custom Order Status
Бесплатный плагин, с помощью которого вы можете управлять и создавать новые статусы, отправлять е-мейл сообщения на изменение статуса, и так далее.
WooCommerce Order Status Manager
Плагин из официального репозитория WooCommerce для управления статусами и создания новых статусов. Плагин позволяет использовать иконки для статусов вместо текста, добавляет е-мейл сообщения на изменение статусов, и многое другое.
Перейти на страницу плагина в официальном репозитории.
YITH WooCommerce Custom Order Status
Еще один платный плагин от компании YITH. Как и предыдущий плагин, создает неограниченное количество новых статусов, переименовывает стандартные статусы, позволяет назначать цвет и иконку статусам, отправляет е-мейлы на смену статуса, и многое другое.
Читайте также:
- Статусы заказа WooCommerce
- Уведомление администратору о новом заказе в статусе «В ожидании оплаты» в WooCommerce
Надеюсь, статья была полезна. Оставляйте комментарии.
комментария 4
Ответить
Techbear
Сайт для тех, кто хочет использовать Вордпресс по максимуму, но не хочет разбираться в коде.
WordPress WooCommerce Membership Elementor ACF
Некорректно работает (вариант когда есть платежный шлюз), статус «Обработка» в статус «Выполнен» не меняется примерно в 5% случаев, и приходится ручками статус менять.
Здравствуйте, а как поменять статус заказа api с склада? Может есть какие-то варианты
Подскажите, пожалуйста, я настроил вывод статусов заказа в таблицу гугл, но они выводятся в форме «on-hold», «completed» и др остальные статусы по умолчанию. Как сделать их на кириллице?)
Здравствуйте, я думаю вам нужно перевести интерфейс админки, или интерфейс фронт-энда на русский.
Или попробуйте это: Как изменить любой текст на Вордпресс сайте