如何以編程方式在 WooCommerce 中創建和應用優惠券

已發表: 2020-09-26

您想創建優惠券並添加折扣以增加客戶參與度嗎? 在本指南中,我們將向您展示如何以編程方式在 WooCommerce 中創建和應用優惠券。 我們將向您展示可以採取哪些措施來增加銷售額的不同示例。

為什麼在 WooCommerce 中使用折扣券?

大多數電子商務網站的轉化率很少超過 3%,因此店主一直在尋找增加銷售額的方法。 實現這一目標的最有效方法之一是使用折扣券。

折扣可以為用戶提供額外的好處,幫助他們下定決心購買你的產品。 例如,您可以在聖誕節或黑色星期五等重要的電子商務日期使用優惠券,在有限的時間內提供折扣,為最忠實的客戶創建優惠券等等。 提供優惠券可以通過多種方式幫助提高轉化率並促進銷售。

這就是為什麼在本指南中,我們將向您展示如何以編程方式在 WooCommerce 中創建和應用優惠券

如何以編程方式在 WooCommerce 中創建和應用優惠券

在本教程中,您將學習如何以不同的方式創建和添加 WooCommerce 優惠券:

  1. 創建 WooCommerce 優惠券
  2. 將優惠券應用於:
    1. 所有產品
    2. 按 ID 列出的特定產品
    3. 小計購物車價值
    4. 總購物車取決於產品數量

由於您將編輯子主題的functions.php文件,因此在開始之前您需要安裝子主題。 您可以創建一個或使用子主題插件。 此外,請記住,我們將使用幾個 WooCommerce 掛鉤,因此,如果您不熟悉它們,我們建議您查看這篇文章。

1) 在 WooCommerce 設置中創建優惠券

在應用優惠券之前,您需要創建它們。 因此,第一步是在 WooCommerce 中創建優惠券。 使用內置的 WooCommerce 功能,您只需單擊幾下即可輕鬆創建它們。

在 WordPress 儀表板中,轉到WooCommerce > 優惠券,然後單擊添加優惠券。 在某些 WooCommerce 版本中,您可能會在Marketing > Coupons下找到它。 然後輸入優惠券代碼名稱。 您可以鍵入任何您想要的名稱或使用自動生成的名稱。 在這種情況下,我們將其命名為auto_coupon

然後,您必須選擇折扣類型(百分比、固定購物車折扣或固定產品折扣)、金額(百分比或固定金額)和到期日期。 您還可以設置優惠券申請產品的限制條款、客戶申請優惠券所需花費的最低金額、限制每個優惠券或用戶的使用量等。

設置優惠券後,按Publish創建 woocommerce 優惠券 值得注意的是,您可以隨時更改任何這些設置。 請注意,如果您這樣做,您需要調整我們將使用的腳本以匹配新優惠券代碼的設置。

如果您想了解有關如何在 WooCommerce 中創建和設置優惠券的更多詳細信息,可以查看此分步指南。

現在您知道如何在 WooCommerce 中創建優惠券了。 讓我們看看如何應用它們。

2.1) 以編程方式將優惠券應用於任何產品

首先,讓我們看看如何將優惠券應用於任何 WooCommerce 產品。 為此,我們將使用woocommerce_before_cart掛鉤在購物車頁面加載之前運行腳本。 此外,在應用我們剛剛創建的優惠券代碼 ( auto_coupon ) 之前,我們將使用 WooCommerce 購物車對象來檢索我們運行驗證所需的信息。

WC()->cart對像在前端頁面中可用,它允許您檢索與購物車頁面相關的所有信息。 因此,將以下腳本粘貼到您的子主題的functions.php文件中:

 add_action('woocommerce_before_cart', 'QuadLayers_apply_coupon');
    函數 QuadLayers_apply_coupon() {
        $coupon_code = 'auto_coupon';
        if ( WC()->cart->has_discount( $coupon_code ) ) 返回;
        WC()->購物車->apply_coupon($coupon_code);
        wc_print_notices();
    }

如您所見,我們使用if()條件來檢查優惠券是否已被應用。 要知道這一點,您可以像這樣檢索 WooCommerce 購物車對象: WC()->cart->has_discount($coupon_code);

請務必注意,您在每種情況下都需要這種驗證。 如果您沒有以正確的方式執行此操作,您將多次添加優惠券,或者在重新加載購物車頁面時。 另外,請注意WC()->apply_coupon($coupon_code)是將定義的優惠券應用到當前購物車頁面的方式。

2.3) 將 WooCommerce 優惠券應用於特定產品 ID

另一個有趣的選擇是將優惠券應用於特定的 WooCommerce 產品 ID 。 為此,您可以使用以下腳本。 只需確保您編輯$products_id()數組以匹配您的產品 ID。

 add_action('woocommerce_before_cart', 'QuadLayers_apply_matched_id_products');
函數 QuadLayers_apply_matched_id_products() {  
    
    // 之前創建的優惠券;
    $coupon_code = 'auto_coupon'; 
    // 這是您的產品 ID/s 數組  
    $product_ids = 數組(664,624,619); 
    // 申請優惠券。 默認為假
    $應用=假;
 
    // 添加到購物車產品循環
    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {                      
        if ( in_array( $cart_item['product_id'], $product_ids )):              
            // 產品匹配ID
            $應用=真;
            休息;                     
        萬一;  
    }
    // 應用和移除優惠券
    如果($應用==真):
        WC()->購物車->apply_coupon($coupon_code);
        wc_print_notices();  
    別的:    
        WC()->購物車->remove_coupons(sanitize_text_field($coupon_code));
        wc_print_notices();   
        WC()->購物車->calculate_totals();    
    萬一; 
}

在這裡,我們使用了一個foreach()循環來遍歷所有添加到購物車的產品。 如果其中任何一個與指定的 ID 匹配,則$apply變量設置為 true。 這樣,驗證只是在變量為true時應用優惠券。 否則,它會刪除優惠券。

2.4)將優惠券應用於小計購物車價值

現在,假設您不想根據產品添加折扣,而是想在客戶在您的商店中花費超過 50 美元時在 WooCommerce 中應用優惠券。 這是獎勵購物者並鼓勵他們在您的網站上花費更多錢的好方法。 因此,通過以下功能,您只有在購物車小計價值超過 50 時才能申請優惠券。

 add_action('woocommerce_before_cart','QuadLayers_apply_coupon_cart_values');
函數 QuadLayers_apply_coupon_cart_values(){
     
       // 之前創建的優惠券
       $coupon_code = 'auto_coupon';           
       // 獲取優惠券
       $current_coupon = WC()->購物車->get_coupons();
       // 獲取購物車小計
       $cart_ST = WC()->購物車->小計;        
 
       // 優惠券在 && 條件為真之前沒有被應用
       如果(空($current_coupon)&&$cart_ST>=50):
           // 申請優惠券
           WC()->購物車->apply_coupon($coupon_code);
           wc_print_notices();            
       // 優惠券已申請 && 條件為 false
       elseif(!empty($current_coupon)&&$cart_ST<50):
           WC()->購物車->remove_coupons(sanitize_text_field($coupon_code));
           wc_print_notices();       
           WC()->購物車->calculate_totals();
           echo '<div class="woocommerce_message">優惠券已移除</div>';
       // 條件為 FALSE && 不應用優惠券
       else:// 什麼都不做 
           echo '<div class="woocommerce_message"> 未知錯誤</div>';
       萬一;
}

當然,您可以將腳本中的 50 美元替換為對您的業務更有意義的任何其他金額。 購物車總數超過 50 時申請 WC 優惠券 另請注意,在條件中,我們使用之前使用的相同 WC 對象實例來精確控制何時添加或刪除優惠券。 WC()->cart->subtotal允許您了解購物車小計,並將其值存儲在$cart_ST變量中。

最後,請記住,您必須使用WC()->cart->calculate_totals(); 應用優惠券後重新計算購物車的總金額。

2.5)根據購物車中的產品數量將優惠券應用於總購物車

同樣,僅當購物車中的產品數量最少時,您才可以使用以下腳本以編程方式應用 WooCommerce 優惠券。 例如,假設您想在客戶的購物車中有4 個或更多產品時添加折扣:

 add_action('woocommerce_before_cart','QuadLayers_apply_coupon_cart_values');
函數 QuadLayers_apply_coupon_cart_values(){ 
        
        // 之前創建的優惠券
        $coupon_code = 'auto_coupon';            
        // 獲取優惠券
        $current_coupon = WC()->購物車->get_coupons();       
        // 獲取產品數量
        $P_count =WC()->購物車->get_cart_contents_count();

        // 優惠券在 && 條件為真之前沒有被應用
        如果(空($current_coupon)&&$P_count>=4):
            // 申請優惠券
            WC()->購物車->apply_coupon($coupon_code);
            wc_print_notices();             
        // 優惠券已申請 && 條件為 false
        elseif(!empty($current_coupon)&&$P_count<4):
            // 移除優惠券
            WC()->購物車->remove_coupons(sanitize_text_field($coupon_code));
            wc_print_notices();        
            WC()->購物車->calculate_totals();             
            echo '<div class="woocommerce_message"> 優惠券已移除</div>';
        // 條件為 FALSE && 不應用優惠券
        else:// 什麼都不做  
            echo '<div class="woocommerce_message"> 未知錯誤</div>';
        萬一;
}

如果在購物者購買 4 種或更多產品時應用折扣對您的業務沒有多大意義,您可以將其替換為您想要的任何其他數字。 這裡使用的新變量是$P_count ,其中存儲了添加到購物車的產品的數量。 這允許您有一個可靠的條件,僅在需要時添加或刪除優惠券。 在 WooCommerce 中應用優惠券 - 優惠券取決於產品數量 這些只是您如何以編程方式應用 WooCommerce 優惠券的一些示例,但可能性是無窮無盡的。 以這些腳本為基礎,釋放您的創造力來創建您自己的腳本!

WC 對象實例

這是我們在上述所有腳本中使用的 WooCommerce 對象實例的完整列表,以及在您想以編程方式添加折扣時可能有用的其他一些實例:

  • WC()->cart->apply_coupon('coupon_code'); 將指定的優惠券應用於購物車總數。
  • WC()->購物車->remove_coupons('coupon_code'); 從購物車總數中刪除指定的優惠券。
  • WC()->cart->has_discount('coupon_code'); 返回是否已應用折扣。
  • WC()->購物車->get_coupons(); 如果存在,則獲取當前應用的優惠券。
  • WC()->購物車->小計; 獲取小計購物車值。
  • WC()->購物車->get_cart_contents_count(); 獲取購物車中的商品數量。
  • WC()->cart->get_cart()以數組的形式返回購物車的內容。
  • WC()->購物車->calculate_totals(); 重新計算購物車總數。
  • WC()->購物車->總計; 檢索購物車總數(計算後)。
  • WC()->購物車->is_empty(); 檢查購物車是否為空。 返回布爾值。
  • WC()->購物車->get_coupon_discount_amount('coupon_code'); 獲取指定優惠券代碼的折扣金額。
  • WC()->購物車->needs_payment(); 檢查是否需要付款。 返回布爾值。

獎勵:如何使用插件在 WooCommerce 中自動應用優惠券

在本節中,我們將向您展示如何使用優惠券 URL 自動應用優惠券。 最大的優勢是客戶不需要記住代碼,因此您可以直接通過您的時事通訊或社交媒體發送代碼。 當用戶點擊鏈接時,他們會自動獲得折扣。 這些優惠券是在黑色星期五或聖誕節等特殊日期或在商店提供限時促銷時提高銷售額的絕佳選擇。

使用 WooCommerce 的高級優惠券自動應用優惠券

為此,我們將使用一個名為 Advanced Coupons for WooCommerce 的免費插件,您可以從 WordPress 存儲庫下載該插件。

  1. 首先,安裝並激活插件。
  2. 然後,在您的 WordPress 儀表板中,轉到WooCommerce > 優惠券以創建您的優惠券鏈接。 根據您使用的 WooCommerce 版本,您可能需要轉到Marketing > Coupons 。 按添加優惠券
  3. 在下一個屏幕中,為您的優惠券命名和描述(可選)。 然後在優惠券數據部分輸入優惠券的詳細信息。 您需要選擇折扣類型(百分比、固定購物車或固定產品)和折扣金額。 請注意,金額將是百分比或固定金額,具體取決於您選擇的折扣類型。 此外,您可以選擇到期日期並將折扣連接到附屬帳戶。
  4. 使用限制選項卡下,您可以為您的優惠券設置限制。 例如,您可以限制最低或最高支出、限制某些產品的折扣等等。 最重要的是,在使用限制下,您可以設置優惠券的使用次數限制,並限制每個用戶的使用量。 注意:我們建議您限制每個用戶的使用量,以便他們只能使用一次。
  5. 之後,轉到URL 優惠券部分並輸入您的優惠券詳細信息。 選擇將重定向客戶的 URL 並創建成功消息。 您會看到將自動生成優惠券 URL。 但是,如果要自定義它,可以使用Code URL Override框。
  6. 最後,按發布,就是這樣!

創建優惠券 URL 後,使用時事通訊和社交媒體對其進行宣傳,以提高銷售額!

附加:如何顯示默認輸入優惠券代碼的表格

最後,讓我們看看如何顯示默認輸入優惠券代碼的表單,以使其更引人注目。 為此,您可以覆蓋子主題中的checkout/form-coupon.php模板,並從下面的代碼行中刪除style=display:none

 <form class="checkout_coupon" method="post">

有關編輯 WooCommerce 優惠券代碼字段的更多方法,請查看本指南

結論

總而言之,折扣是鼓勵客戶從您的商店購買並提高銷售額的絕佳方式。 您可以將它們用於聖誕節或黑色星期五等重要日期,以獎勵您的忠實客戶或促進更大的銷售。

在本指南中,您學習瞭如何在 WooCommerce 中創建優惠券以及如何以編程方式應用它。 此外,我們還看到了將優惠券應用於以下方面的不同示例:

  1. 所有產品
  2. 按 ID 列出的特定產品
  3. 小計購物車價值
  4. 購物車總數取決於購物車中的產品數量

您可以將這些腳本作為基礎並對其進行自定義,以充分利用商店中的優惠券。

最後,重要的是要注意,即使優惠券和折扣可以幫助您提高轉化率,您也不應該過度使用它們。 確保您在正確的時間將它們提供給正確的客戶。 否則,如果您不斷向任何人提供折扣,可能會影響您的聲譽。

有關以編程方式自定義商店的更多指南,您可以查看以下指南:

  • 如何通過編碼編輯 WooCommerce 商店頁面?
  • WooCommerce 以編程方式添加到購物車功能
  • 將自定義字段添加到結帳頁面

你用過這些腳本嗎? 你有任何問題嗎? 在下面的評論部分讓我們知道!