Добавление товаров в заказ Woocommerce после оплаты
Иногда после совершения покупки в онлайн магазине клиент хочет докупить еще несколько позиций. Теоретически, он всегда может пройти процедуру оформления заказа заново и добавить в корзину новые товары, но гораздо проще решить этот вопрос через менеджеров. Тем более, что в Woocommerce такая опция предусмотрена, и в 99% случаев сотрудники магазина созваниваются с покупателем для уточнения деталей сделки.
В статье расскажу как именно проходит процесс редактирования заказа Woocommerce, а также поделюсь парочкой полезных хаков по теме. Информация по большей части для начинающих, но возможно, кто-то из продвинутых разработчиков (также как и я) не был в курсе данной функции.
Итак, чтобы добавить товары после совершения покупки пользователем, нужно зайти в раздел админки «Woocommerce » — «Заказы». Там наводите курсор мышки на нужную запись и кликаете по ссылке «Изменить». Перед вами отроется карточка заказа со всей инфой по нему. Опция редактирования находится в самом конце страницы:
При этом следует отметить, что добавить товары вы сможете только в заказ, который имеет статус «На удержании» или «Ожидает оплаты»! В остальных случаях фишка недоступна.
При нажатии на кнопку «Добавить позиции» появится несколько новых функций:
- добавление товаров;
- дополнительный сбор;
- правка расходов на доставку;
Нам нужен первый пункт. После клика во всплывающем окне увидите форму поиска товаров.
Выбираете нужную продукцию (можно несколько) и кликаете «Добавить». Затем очень важно выполнить 3 шага:
- Сохраняете внесенные изменения — кнопка «Сохранить».
- Пересчитываете общую сумму заказа — «Посчитать итог».
- И в самом конце вполне логичной будет отправка повторного письма клиенту с новой информацией по заказу.
Либо отдельно отправляйте PDF счет на оплату (если эта опция у вас установлена).
Редактирование заказа со статусом «в обработке»
По умолчанию, как я уже сказал выше, правка доступна только для заказов со статусам «Ожидает оплаты» или «На удержании». Это вполне логично — когда человек уже заплатил, модификация списка товаров может спровоцировать определенные ошибки. Однако подобные ситуации случаются: во-первых, менеджер может заменить один тип/цвет продукции на другой в вариативном товаре; во-вторых, если выбран способ оплаты наличными курьеру, то по факту передача денег еще не состоялась, хотя статус будет «В обработке».
Чтобы разрешить редактирование таких заказов в Woocommerce, добавляете в файл функций своего шаблона (functions.php и др.) следующие строки:
add_filter( 'wc_order_is_editable', 'lets_make_processing_orders_editable', 10, 2 ); function lets_make_processing_orders_editable( $is_editable, $order ) { if ( $order->get_status() == 'processing' ) { $is_editable = true; } return $is_editable; } |
Код подходит для статуса processing (в обработке). Он устанавливает переменную is_editable = true, тем самым позволяя вносить правки. Аналогичным образом разрешается данная опция и в других случаях.
Повторная отправка письма клиенту и тип доставки
Второй хак касается несколько иной темы, но также может пригодиться. Вношу его в заметку больше для себя, дабы потом быстрее было найти.
Если ранее вы использовали в файлах шаблона функцию WC()->session->get (чтобы определить тип доставки на этапе оформления заказа), то повторная отправка письма на email уже из админки будет вызывать ошибку. Поэтому я немного изменил код в email-addresses.php:
if (!is_admin()) { $chosen_methods = WC()->session->get('chosen_shipping_methods'); $current_method = $chosen_methods[0]; } else { $chosen_methods2 = $_POST['shipping_method']; foreach ( $chosen_methods2 as $method ) { $current_method = $method; } } |
В данном примере определяю тип доставки 2мя разными способами: первый, когда пользователь НЕ находится в админ панели (!is_admin), второй — если выполняется именно повторная отправка письма. Да, знаю, хак выглядит не идеально, но со своей задачей справляется нормально. Возможно, знаете вариант получше?
Итого. Наличие опции добавления товара в Woocommerce после оплаты может выручить вас, когда нужно оперативно внести правки в уже готовый заказ. Плюс с помощью хака из статьи разрешается редактирование заказа, который находится в обработке. Вопросы и дополнения пишем ниже.
комментариев 9 к статье “Добавление товаров в заказ Woocommerce после оплаты”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Як сховати відсутні товари в Woocommerce шорткодах та схожих товарах
- Сервіс AdMaven + плагін для монетизації трафіка на WordPress сайтах
- Плагіни для створення стрічки новин з біжучим рядком в WordPress
- Як змінити розміщення кнопки оформлення замовлення в WooCommerce
- Плагін WHWS Display In Stock Products First – відображення товарів в наявності першими
- Підписка MonsterONE: чи варто використовувати цей сервіс у 2023 році? (+5 продуктів, які треба скачати в першу чергу)
- Онлайн генератор ссылок на мессенджеры для WordPress и не только
- WooCommerce (46)
- Безопасность (12)
- Видео (6)
- Виджеты (28)
- Возможности (141)
- Вопрос-ответ (6)
- Начинающим (52)
- Новости (46)
- Оптимизация (23)
- Плагины (246)
- Сервисы (87)
- Хаки и секреты (87)
- Шаблоны (45)
- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Советы по выбору холодильника LG с технологией No Frost
- Зачем нужны Wi-Fi ретрансляторы и как выбрать подходящую модель
- Введение в онлайн-казино Slotor777: многообразие игр и привлекательные бонусы
- Необходимость использования облачного хранилища в наше время, что важно и как выгодно?
- Спрощення процесу звітності за допомогою програми BAS Бухгалтерія
- Технологія підключення інтернету GPON та її переваги
- За що гравці найбільше цінують Lineage 2
- Для каких проектов нужна аренда виртуального сервера и что такое VPS
Видел такую фишку в админку, но если честно пока не использовал. Прикольно, что продумали данный нюанс.
Не знал, что так можно) знакомому недавно нужна была похожая фишка, он модули искал, а тут все проще простого)
Спс за вукомерс мало кто об этом пишет.. правда, когда записей 20-30шт не совсем удобно искать инфу)
Андрей, ну есть отдельный раздел под этот модуль или поиск — пока что только так. Возможно, в будущем придумаю что-то получше.
в письме нового заказа вукомерц не приходить емайл и телефон заказчика
Алексей, скорее всего, это случилось из-за подключенной темы — она может переопределять базовые шаблоны писем. Попробуйте поставить стандартный базовый WP-шаблон и отключить модули (они тоже могут вносить правки) — тогда станет плюс-минус ясно где именно проблема.
Спасиб. Дельная информация и все получилось! Добавил-таки товары в заказ woocommerce.
Добрый день. Может сможете подсказать как редактируется вариант доставки? Если я нажимаю редактировать доставку, то не могу выбрать мои методы доставки, которые сделаны у меня в настройках woocommerce. Там только если выбрать «другое» и забить в строчку метод доставки, указав стоимость. Хотелось бы, чтобы в выпадающем списке отображались мои методы доставки.
Иван, посмотрел — действительно есть такой глюк, что отображаются просто «общие варианты доставки» без конкретно добавленных админом. Нужно гуглить, вот нашел такое обсуждение — по названию похоже на вашу задачу. Но почему-то при вставке в файл функций, никак ситуацию это не изменило, возможно, там надо как-то модифицировать код перед добавлением.