Как автоматически применять купоны WooCommerce

Опубликовано: 2021-06-22

Вы ищете способы добавить скидки на свои продукты, чтобы увеличить продажи? Вы пришли в нужное место. В этом руководстве мы покажем вам, как автоматически применять купоны WooCommerce .

Ранее мы видели, как создавать купоны в WooCommerce, и несколько примеров того, как их применять с помощью кода. На этот раз мы сосредоточимся на том, как автоматически применять эти скидки, чтобы удивить ваших покупателей и увеличить ваши продажи.

Зачем программно применять купоны WooCommerce?

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

Превращение посетителей в клиентов за счет привлекательных скидок — это проверенная маркетинговая стратегия, которую используют большинство веб-сайтов электронной коммерции. Однако стоит отметить, что успех этого предложения будет во многом зависеть от того, когда вы предоставите скидку.

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

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

Ограничения купонов WooCommerce по умолчанию

Функциональность купона по умолчанию, которую предлагает WooCommerce, работает хорошо, но имеет некоторые ограничения. Самый большой из них заключается в том, что пользователи должны вводить купоны вручную и обновлять страницу, чтобы применить скидку к своим заказам. Как вы можете себе представить, это дополнительное трение не идеально и может привести к потере клиентов.

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

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

Как автоматически применять купоны WooCommerce

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

Как только вы это сделаете, давайте начнем с создания купона.

1) Создайте купон WooCommerce

Сначала на панели инструментов WordPress перейдите в раздел WooCommerce > Купоны/Маркетинг > Купоны и нажмите Добавить купон .

Создать скидку по купону woocommerce

Затем введите название купона. Поскольку это то, что мы будем использовать для предоставления скидок, мы рекомендуем описательное и простое имя.

Кроме того, необходимо указать другую важную информацию:

  • Размер скидки (фиксированная или процентная)
  • Тип купона
  • Дата окончания срока

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

Создайте настройки купона woocommerce

После того, как вы создали купон, давайте рассмотрим различные способы его автоматического применения.

2) Как автоматически добавлять купоны WooCommerce

Прежде чем углубляться в код, обратите внимание, что мы используем один и тот же код купона « all-products » во всех следующих примерах сценариев. Этот код применит скидку 3% к промежуточной сумме.

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

Теперь давайте посмотрим на несколько примеров автоматического применения купонов в WooCommerce.

2.1) Применить купон для постоянных клиентов

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

 // Постоянных клиентов
add_action('woocommerce_before_cart', 'QuadLayers_returning_customers_coupon');
 
функция QuadLayers_returning_customers_coupon(){
   $coupon_code = 'все продукты';
   # Получайте заказы клиентов
   $user_id = wp_get_current_user();
   $customer_orders = [];
   foreach (wc_get_is_paid_statuses() как $paid_status) {
       $customer_orders += wc_get_orders([
           'тип
' => 'магазин_заказ',
           'лимит' => - 1,
           'customer_id' => $user_id->ID,
           'статус' => $paid_status,
       ]);
       # применить купон, если есть существующий заказ
       если(количество($customer_orders)>0){ 
           printf('<div class="woocommerce-message">На этот заказ действует скидка, поскольку вы являетесь постоянным клиентом!</div>');
           if ( WC()->cart->has_discount($coupon_code )) return;
           WC()->корзина->apply_coupon($coupon_code);
           wc_print_notices();
           ломать;
       }   
   }
}

Вот результат на странице корзины:

Автоматически применять купоны WooCommerce — купон для постоянных клиентов

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

Если это условие выполнено, скидка будет применена, а в корзине появится сообщение.

Чтобы изменить сообщение, просто отредактируйте строку printif в скрипте.

2.2) Примените купон WooCommerce к информации о пользователе учетной записи .

Вы также можете применить указанный купон в зависимости от данных учетной записи пользователя. В следующем примере сценария мы собираемся применить купон только к клиентам, которые указали Соединенные Штаты (США) в качестве страны в своих учетных записях. Это может быть интересным вариантом таргетированных рекламных акций для увеличения продаж на определенных рынках или в определенных странах.

 // Применить купон для страны выставления счета (США)
add_action('woocommerce_before_cart', 'QuadLayers_customer_information_coupon');
 
функция QuadLayers_customer_information_coupon(){
   $coupon_code = 'все продукты';
   $user = wp_get_current_user();
   $data = get_user_meta($user->ID, 'country_country', true );
   если($данные=="США"):
   printf('<div class="woocommerce-message"> Этот заказ распространяется на скидку для клиентов из США! </div>');
           if ( WC()->cart->has_discount($coupon_code )) return;
           WC()->корзина->apply_coupon($coupon_code);
           wc_print_notices();
   еще:
       WC()->корзина->remove_coupons(sanitize_text_field($coupon_code));
       wc_print_notices();  
       WC()->корзина->calculate_totals();    
   конец;
}

Помимо добавления купона, когда в качестве страны выставления счета пользователя указаны США, мы также удаляем купон, если страна не является США. Если мы этого не сделаем, пользователь сможет отредактировать свой платежный адрес, чтобы получить купон, и купон останется там после возвращения в исходную страну.

2.3) Применить купон по расписанию

Параметры WooCommerce по умолчанию позволяют нам создавать купоны, которые применяются к определенным датам или к расписанию дат. Но что, если вам нужно применить купон по ежедневному графику? Просто используйте следующий скрипт, чтобы применить указанный купон только с 6:00 до 10:00, например.

Это интересный вариант для запуска флэш-продаж и автоматического применения купонов в WooCommerce.

 // Применить купон по ежедневному расписанию (06:00/10:00)
add_action('woocommerce_before_cart', 'QuadLayers_timer_scheduled_coupon');
 
функция QuadLayers_timer_scheduled_coupon(){
$blogtime = текущее_время('mysql');
list($today_year, $today_month, $today_day, $hour, $minute, $second) = preg_split("([^0-9])", $blogtime);
   $coupon_code = 'все продукты';
   если($час>=06&&$час<10){
       printf('<div class="woocommerce-message">Вы получаете скидку "Доброе утро" (с 6 до 10 утра) </div>');
           if ( WC()->cart->has_discount($coupon_code )) return;
           WC()->корзина->apply_coupon($coupon_code);
           wc_print_notices();
   }
}

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

2.4) Применить купон к таксономии тегов товаров

Это более сложная функция, в которой мы извлекаем все теги продуктов, добавленных в корзину, и проверяем, присутствует ли конкретный тег.

В следующем примере мы используем тег « freeweek », поэтому, прежде чем вы это сделаете, вам нужно создать тег и прикрепить его к некоторым продуктам. Кроме того, вы можете использовать любой из тегов, которые уже прикреплены к вашим продуктам.

 // Применение купона к таксономии тегов товаров (свободная неделя)
//
add_action('woocommerce_before_cart', 'QuadLayers_tag_coupon');
 
функция QuadLayers_tag_coupon() {
   $coupon_code = 'все продукты';
   $id_a=массив();
   foreach ( WC()->cart->get_cart() as $key => $cart_item ) {
       for ($i=0; $i < $cart_item['количество']; $i++) {  
           $productId = $cart_item['data']->get_id();
           array_push($id_a,$productId);         
       }
   }
  
   for($t=0;$t<count($id_a);$t++){
       $terms = wp_get_post_terms($id_a[$t], 'product_tag');
       foreach($terms как $term){
               $term_name = $term->имя; // Имя тега продукта
           если($term_name=='свободная неделя'):
                   printf('<div class="woocommerce-message">Товар отмечен скидкой !</div>');
                   if ( WC()->cart->has_discount($coupon_code )) return;
                   WC()->корзина->apply_coupon($coupon_code);
                   wc_print_notices();
               ломать;
           еще:
                   WC()->корзина->remove_coupons(sanitize_text_field($coupon_code));
                   wc_print_notices();  
                   WC()->корзина->calculate_totals();
           конец;
       }
   }
}

Эта скидка будет применяться ко всем товарам, добавленным в корзину с указанным тегом.

Еще раз не забудьте заменить название тега « freeweek » в коде тегом вашего продукта.

2.5) Применить купон к параметру URL

Еще одно интересное применение кодов купонов — использование параметров URL для создания пользовательской ссылки. В браузере параметр URL и его значение выглядят следующим образом:

https://my.website.com/cart?parameter=value

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

 // Применить купон к параметру URL (?co=custom-link)
add_action('woocommerce_before_cart', 'QuadLayers_url_coupon');
 
функция QuadLayers_url_coupon() {
       $coupon_code = 'все продукты';
   if(isset($_GET['co'])&&!пусто($_GET['co']) ):
       $url_p=$_GET['co'];
       если($url_p=='пользовательская-ссылка'):
           printf('<div class="woocommerce-message">На товар распространяется скидка !%lt;/div>');
                   if ( WC()->cart->has_discount($coupon_code )) return;
                   WC()->корзина->apply_coupon($coupon_code);
                   wc_print_notices();
       еще:
                   WC()->корзина->remove_coupons(sanitize_text_field($coupon_code));
                   wc_print_notices();  
                   WC()->корзина->calculate_totals();
       конец;
   конец; 
}

Как видите, пользовательская ссылка, которую мы используем выше, — это https://my.web?co=custom-link .

Бонус: применить купоны к определенным продуктам

Интересным вариантом является автоматическое применение купонов WooCommerce к определенным товарам . Таким образом, вы можете сделать некоторые продукты более привлекательными, чтобы сначала привлечь клиентов, а затем попытаться продать им другие товары.

Для этого используйте следующий скрипт и измените массив $products_id() на ваши собственные идентификаторы продуктов.

 add_action('woocommerce_before_cart', 'QuadLayers_apply_matched_id_products');
функция QuadLayers_apply_matched_id_products() {  
    
    // ранее созданный купон;
    $coupon_code = 'auto_coupon'; 
    // это массив идентификаторов вашего продукта  
    $product_ids = массив (664 624 619); 
    // Применить купон. Значение по умолчанию — ложь
    $ применить = ложь;
 
    // Цикл добавления товаров в корзину
    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {                      
        если (in_array($cart_item['product_id'], $product_ids)):              
            // Идентификатор соответствия товара
            $ применить = истина;
            ломать;                     
        конец;  
    }
    // применить и удалить купон
    если ($ применить == истина):
        WC()->корзина->apply_coupon($coupon_code);
        wc_print_notices();  
    еще:    
        WC()->корзина->remove_coupons(sanitize_text_field($coupon_code));
        wc_print_notices();   
        WC()->корзина->calculate_totals();    
    конец; 
}

Дополнительные примеры, подобные этому, см. в нашем руководстве по программному созданию и применению купонов.

Как исключить товары из купонов

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

Хорошей новостью является то, что вы можете сделать это из панели администратора WordPress. Перейдите в раздел Продукты > Все продукты , наведите указатель мыши на продукт, который хотите исключить из купонов, и запишите идентификатор продукта .

Затем перейдите в « Внешний вид» > «Редактор тем» > « Функции темы» и откройте файл functions.php . После этого вставьте следующий код, заменив PRODUCT_ID на идентификатор вашего продукта.

 add_filter('woocommerce_coupon_is_valid_for_product', 'quadlayers_exclude_product_from_product_promotions', 9999, 4 );
function quadlayers_exclude_product_from_product_promotions($valid, $product, $coupon, $values) {
// ЗАМЕНЯЕМ ИДЕНТИФИКАТОР ПРОДУКТА (например, 145)
если (PRODUCT_ID == $product->get_id()) {
$ действительный = ложь;
}
вернуть $ действительный;
}

Вот и все! На товар, который вы выберете, купоны не повлияют.

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

Вывод

В целом, предложение купонов вашим покупателям — отличный способ улучшить качество обслуживания клиентов и увеличить ваши продажи. Кроме того, предоставляя своим клиентам эксклюзивные скидки, они с большей вероятностью станут лояльными к вашему магазину.

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

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

Мы видели разные примеры автоматического применения купонов в разных ситуациях, которые помогут вам вывести свой магазин на новый уровень. Для получения дополнительных руководств по купонам WooCommerce обязательно ознакомьтесь со следующими сообщениями:

  • Как настроить купоны в WooCommerce
  • Как программно создавать купоны WooCommerce (с примерами)
  • Редактировать поля кода купона WooCommerce

Вы пробовали какой-либо из вышеперечисленных скриптов на своем сайте? Сработали ли они так, как ожидалось? Расскажите нам о своем опыте в разделе комментариев ниже!