Как упростить оформление заказа в магазине бесплатных товаров Тема витрины

Опубликовано: 2020-11-03

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

Однако, если вы предлагаете бесплатный товар в своем магазине, вы можете не заполнять все поля при оформлении заказа. Это означает, что вы не будете взимать плату за доставку. В результате вам могут не потребоваться платежные реквизиты, только имя и, возможно, адрес электронной почты.

Витрина магазина Упростите оформление заказа Бесплатные товары

Стоит отметить, что WooCommerce удалит выбор способа оплаты для бесплатных покупок. Однако поля для выставления счетов по-прежнему присутствуют и необходимы для размещения заказа: Платежные реквизиты

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

Если у вас возникла эта проблема, легко проверить, не требует ли оплата оплаты, с помощью проверки WC()->cart->needs_payment(). Я проиллюстрирую, как использовать это, чтобы выполнить несколько действий, чтобы упростить бесплатную проверку WooCommerce, если оплата не требуется. Нам нужно условно удалить некоторые поля биллинга.

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

Шаги по упрощению оформления заказа на бесплатные товары

  1. Удалить купонные формы

Вам не нужна купонная форма, если вы хотите бесплатно оформить заказ, так как нечего делать со скидкой. Я использую ! WC()->cart->needs_payment() в качестве чека, который будет предполагать, что общая сумма заказа равна 0 долларов США, поэтому нет необходимости в затратах на доставку или оплате заказа. Чтобы безопасно удалить ввод купона, нам нужно использовать следующий код:

 // убираем купонные формы, если вам не нужен купон на бесплатную корзину

remove_action('woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10);
  1. Отключить примечания к заказу

Вы можете захотеть собрать примечания к заказу для бесплатного заказа. Однако главное, что мы пытаемся сделать, — это упростить процесс оформления заказа для клиентов в вашем магазине WooCommerce. Я полностью уберу раздел «Дополнительная информация» в кассе. Это можно сделать с помощью фильтра woocommerce_enable_order_notes_field, так как мы можем установить для него значение false, чтобы не было примечаний к заказу.

 // Удалить примечания к заказу "Дополнительная информация"

add_filter('woocommerce_enable_order_notes_field', '__return_false');
  1. Сбросить ненужные поля

Поскольку это бесплатный заказ, нам не нужно взимать плату с кредитной карты. Большинство платежных полей в кассе не нужны. Это означает, что я должен отключить поле покупки, которое мне не нужно. Вы можете найти список полей оформления заказа в документации WooCommerce.

 // Отключить поля, которые нам не нужны в бесплатной кассе

функция unset_unwanted_checkout_fields($fields) {

// список ключей поля биллинга для удаления

$billing_keys = массив(

'биллинг_компания',

'биллинг_телефон',

'Платежный адрес 1',

'биллинг_адрес_2',

'биллинг_город',

'биллинг_почтовый индекс',

'страной плательщика',

'состояние_биллинга',

);

// сбросить каждое из этих нежелательных полей

foreach($billing_keys as $key) {

unset($fields['биллинг'][$key] );

}

вернуть $поля;

}

add_filter('woocommerce_checkout_fields', 'unset_unwanted_checkout_fields');

Однако вы можете выбрать поля, которые хотите удалить из формы оформления заказа.

  1. Добавление кода

Вот шаги для добавления кода в файл functions.php темы Storefront:

  1. Войдите на свой сайт WordPress и получите доступ к панели инструментов в качестве пользователя-администратора.
  2. В меню «Панель инструментов» нажмите « Меню внешнего вида» > «Меню редактора тем». Когда страница редактора темы открыта, найдите файл функций темы, чтобы упростить получение бесплатных элементов.
  3. Добавьте следующий код в functions. php
 /**

 * Удаляет форму купона, примечания к заказу и несколько полей для выставления счетов, если при оформлении заказа не требуется оплата.

 *

 * ТРЕБУЕТСЯ PHP 5.3+

 *

  */

функция sv_free_checkout_fields() {

            // во-первых, залог, если WC не активен, так как мы подключены к общему хуку WP

            если (! function_exists('WC')) {

                        возвращение;

            }

            // залог, если тележка нуждается в оплате, мы ничего не хотим делать

            если ( WC()->корзина && WC()->корзина->needs_payment() ) {

                        возвращение;

            }

            // теперь продолжаем, только если мы на кассе

            // is_checkout() не работает с WC 3.2 в контексте ajax, дважды проверьте is_ajax

            // Я бы проверил WOOCOMMERCE_CHECKOUT, но тестирование показало, что он установлен ненадежно

            если ( function_exists( 'is_checkout' ) && ( is_checkout() || is_ajax() )) {

                        // удалить купонные формы, так как зачем вам купон на бесплатную корзину??

                        remove_action('woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10);

                        // Удалить примечания к заказу "Дополнительная информация"

                        add_filter('woocommerce_enable_order_notes_field', '__return_false');

                        // Отключить поля, которые нам не нужны в бесплатной кассе

                        add_filter('woocommerce_checkout_fields', функция($fields) {

                                    // добавить или удалить ненужные поля для выставления счетов

                                    // поля: http://docs.woothemes.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/#section-2

                                    $billing_keys = массив(

                                                'биллинг_компания',

                                                'биллинг_телефон',

                                                'Платежный адрес 1',

                                                'биллинг_адрес_2',

                                                'биллинг_город',

                                                'биллинг_почтовый индекс',

                                                'страной плательщика',

                                                'состояние_биллинга',

                                    );

                                    // сбросить каждое из этих нежелательных полей

                                    foreach($billing_keys as $key) {

                                                unset($fields['биллинг'][$key]);

                                    }

                                    вернуть $поля;

                        });

            }

}

add_action('wp', 'sv_free_checkout_fields');
  1. Когда вы добавите весь код, оформление заказа WooCommerce будет упрощено: упрощенная оплата

Вывод

Таким образом, я провел вас через шаги по упрощению процесса оформления заказа. Я подробно объяснил шаги, чтобы вы могли понять код. Тем не менее, вы должны отметить, что в этой статье представлены изменения кода или фрагменты кода, которые вы можете внести в файл function.php вашей активной темы. Если вы не знакомы с этой задачей, наймите разработчика WordPress.

Похожие статьи