如何將優惠券自動應用到 WooCommerce 購物車
已發表: 2020-06-25折扣是增加銷售額的好方法,有助於建立良好的客戶關係。 這是一種吸引客戶回到您的商店並再次購買的方式。
WooCommerce 還為店主提供了一項功能,為他們的客戶添加折扣券。 他們使用不同的方式與客戶聯繫以獲取優惠券,例如向他們發送電子郵件、在他們的網站上添加橫幅等等。 但有時客戶可能會在結賬時忘記使用優惠券。
因此,如果作為店主,您不希望您的客戶在不使用折扣券的情況下購買產品,那麼您必須找到一種方法,讓客戶在購買時將優惠券自動應用到購物車中。 可以通過電子郵件向客戶提供優惠券代碼 URL 或將其添加到網站上,點擊後,優惠券將自動應用於購物車。 或者更簡單的方法是在客戶將產品添加到購物車時自動應用優惠券代碼。
在 WooCommerce 中,目前沒有自動應用折扣券的選項,但可以通過添加代碼片段或使用一些可用的擴展來實現這一點。
使用代碼片段
讓我們在這裡舉個例子,店主希望在萬聖節、黑色星期五或聖誕節期間為價值超過 250 美元的訂單提供 20% 的折扣,並且他希望他的客戶都不會錯過折扣。 因此,為了實現這一點,我們將在下面討論兩種方法。
1.添加產品時直接將優惠券代碼應用到購物車
為此,第一步是在 WooCommerce 中創建一個優惠券代碼,在 Add New Coupon / Edit Coupon -> Usage Restrictions 菜單下,最低消費限制為 250 美元。

優惠券是根據業主的要求添加的,但由於此處輸入優惠券仍然是手動過程,因此客戶很可能忘記使用優惠券代碼。 因此,避免這種情況的最佳方法是將代碼自動應用於購物車。 這可以通過將以下代碼添加到子主題的 functions.php 文件或使用任何代碼片段插件來實現。
/** * 將優惠券自動應用到購物車 */ 功能 ts_apply_discount_to_cart() { $order_total = WC()->購物車->get_subtotal(); 如果($order_total > 250){ $coupon_code = '20%OFF'; if ( !WC()->cart->add_discount( sanitize_text_field( $coupon_code ) ) ) { WC()->show_messages(); } } } add_action('woocommerce_before_cart_table', 'ts_apply_discount_to_cart');
在這裡,我們在顯示購物車錶之前使用了 WooCommerce 購物車錶單中的 woocommerce_before_cart_table 鉤子。 在這個鉤子中,我們檢查訂單總額,如果訂單總額為 250 美元或更多,那麼我們將使用 add_discount() 函數將“20%OFF”優惠券應用於購物車。

2. 使用優惠券代碼 URL
將優惠券代碼直接應用到購物車的另一種方法是通過電子郵件、新聞通訊或通過在網站上以橫幅的形式發布優惠券代碼 URL 向客戶提供優惠券代碼 URL。 因此,當客戶點擊 URL 並且產品已添加到購物車時,將自動應用優惠券代碼。
為此,您需要在子主題的 functions.php 文件中添加以下代碼。
/** * 如果查詢字符串具有優惠券代碼變量,則在頁面加載時設置會話變量。 */ 功能 ts_get_custom_coupon_code_to_session() { if( isset( $_GET[ 'coupon_code' ] ) ) { // 確保客戶會話已啟動 if( !WC()->session->has_session() ) WC()->會話->set_customer_session_cookie(true); // 在自定義會話變量中檢查並註冊優惠券代碼 $coupon_code = WC()->session->get('coupon_code'); 如果(空($coupon_code)&& isset($_GET['coupon_code'])){ $coupon_code = esc_attr($_GET['coupon_code']); WC()->session->set('coupon_code', $coupon_code); // 在會話中設置優惠券代碼 } } } add_action('init', 'ts_get_custom_coupon_code_to_session'); /** * 如果會話有 coupon_code 變量,則將優惠券代碼應用於購物車。 */ 功能 ts_apply_discount_to_cart() { //設置優惠券代碼 $coupon_code = WC()->session->get('coupon_code'); if ( !empty( $coupon_code ) && !WC()->cart->has_discount( $coupon_code ) ){ WC()->購物車->add_discount($coupon_code); // 應用優惠券折扣 WC()->session->__unset('coupon_code'); // 從會話中刪除優惠券代碼 } } add_action('woocommerce_before_cart_table', 'ts_apply_discount_to_cart', 10, 0);
這裡我們使用了兩個鉤子 init 和 woocommerce_before_cart_table。 在 init 鉤子中,我們正在檢查當前 URL 是否包含 coupon_code 查詢變量,如果包含,則變量的值存儲在 WooCommerce 會話中。 在 woocommerce_before_cart_table 鉤子中,我們正在檢查是否在 WooCommerce 會話中設置了 coupon_code 變量,然後將該優惠券代碼應用於購物車。

添加上述代碼後,您可以使用以下 URL 將其發送給您的客戶。
https://mywebsite.com/?coupon_code=20OFFChristmas
或者,如果您想在應用優惠券後將 URL 直接重定向到購物車或結帳頁面,您可以使用以下 URL。
https://mywebsite.com/cart/?coupon_code=20OFFChristmas
https://mywebsite.com/checkout/?coupon_code=20OFFChristmas

將優惠券應用到購物車後,您不希望您的客戶將另一張優惠券添加到同一個購物車中。 所以最好在購物車和結帳頁面上隱藏優惠券代碼字段。 這是另一篇解釋如何隱藏 WooCommerce 優惠券代碼字段的帖子。
使用 WooCommerce 擴展
實現此目的的另一種方法是使用不同的 WooCommerce 擴展程序,它允許您將優惠券代碼自動應用於購物車。 下面是一些擴展:
- Smart Coupons – 這個插件擁有您使用折扣、優惠券、信用、代金券、產品贈品、優惠和促銷來增加銷售和客戶所需的一切。 它是 WooCommerce 最暢銷和最完整的優惠券管理插件。
- WooCommerce URL 優惠券 – WooCommerce URL 優惠券擴展可幫助您創建獨特的 URL,自動將折扣和產品應用於客戶的購物車。 您可以在訪問唯一 URL 後更改客戶重定向的位置,您的 URL 優惠券仍將遵守所有優惠券限制,例如使用限制。
- 高級優惠券 - 高級優惠券擴展了您的優惠券功能,因此您可以更好地營銷您的商店。
- WooCommerce 擴展優惠券功能免費 - “WooCommerce 擴展優惠券功能”為 WooCommerce 優惠券添加了功能,並允許自動折扣規則。 非常易於使用,該功能方便地集成到 WooCommerce 編輯優惠券面板。
- WooCommerce 的自動優惠券 – 這是一個簡單輕量級的插件,如果符合設定的規則,它只允許將優惠券自動應用到購物車。
因此,您可以使用代碼片段或插件為客戶提供不容錯過的購買折扣。