Ноя
13
1

Добавление товаров в заказ Woocommerce после оплаты

Редактирование заказов магазинаИногда после совершения покупки в онлайн магазине клиент хочет докупить еще несколько позиций. Теоретически, он всегда может пройти процедуру оформления заказа заново и добавить в корзину новые товары, но гораздо проще решить этот вопрос через менеджеров. Тем более, что в Woocommerce такая опция предусмотрена, и в 99% случаев сотрудники магазина созваниваются с покупателем для уточнения деталей сделки.

В статье расскажу как именно проходит процесс редактирования заказа Woocommerce, а также поделюсь парочкой полезных хаков по теме. Информация по большей части для начинающих, но возможно, кто-то из продвинутых разработчиков (также как и я) не был в курсе данной функции.

Итак, чтобы добавить товары после совершения покупки пользователем, нужно зайти в раздел админки «Woocommerce » — «Заказы». Там наводите курсор мышки на нужную запись и кликаете по ссылке «Изменить». Перед вами отроется карточка заказа со всей инфой по нему. Опция редактирования находится в самом конце страницы:

Карточка заказа Woocommerce

При этом следует отметить, что добавить товары вы сможете только в заказ, который имеет статус «На удержании» или «Ожидает оплаты»! В остальных случаях фишка недоступна.

При нажатии на кнопку «Добавить позиции» появится несколько новых функций:

  • добавление товаров;
  • дополнительный сбор;
  • правка расходов на доставку;

Нам нужен первый пункт. После клика во всплывающем окне увидите форму поиска товаров.

Добавление товаров в заказ

Выбираете нужную продукцию (можно несколько) и кликаете «Добавить». Затем очень важно выполнить 3 шага:

  1. Сохраняете внесенные изменения — кнопка «Сохранить».
  2. Пересчитываете общую сумму заказа — «Посчитать итог».
  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 после оплаты может выручить вас, когда нужно оперативно внести правки в уже готовый заказ. Плюс с помощью хака из статьи разрешается редактирование заказа, который находится в обработке. Вопросы и дополнения пишем ниже.

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 2, средний балл: 7,00 из 7)
Загрузка...

категория Категории: WooCommerce; Начинающим;
теги Теги: , , , , .

1 комментарий к статье “Добавление товаров в заказ Woocommerce после оплаты”

  • Milligan   15.11.2017

    Видел такую фишку в админку, но если честно пока не использовал. Прикольно, что продумали данный нюанс.

Оставить комментарий


Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

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

Последние посты
Лучшее в категории
Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости