在 WooCommerce 订单上使用优惠券代码时发送电子邮件通知

使用特定优惠券时如何向业务伙伴发送订单通知?

我在这里找到了应用优惠券时实例的解决方案: Send an email notificationwhen a certain coupon code is apply in WooCommerce

但是,我需要找到提交订单后何时提交的解决方案,因为订单并不总是在应用优惠券后提交。

每张优惠券都有自己的电子邮件地址。


慕盖茨4494581
浏览 64回答 1
1回答

哈士奇WWW

首先,我们在优惠券管理页面添加一个设置字段,用于设置优惠券的电子邮件收件人:// Add a custom field to Admin coupon settings pagesadd_action( 'woocommerce_coupon_options', 'add_coupon_text_field', 10 );function add_coupon_text_field() {    woocommerce_wp_text_input( array(        'id'                => 'email_recipient',        'label'             => __( 'Email recipient', 'woocommerce' ),        'placeholder'       => '',        'description'       => __( 'Send an email notification to a defined recipient' ),        'desc_tip'    => true, // Or false    ) );}// Save the custom field value from Admin coupon settings pagesadd_action( 'woocommerce_coupon_options_save', 'save_coupon_text_field', 10, 2 );function save_coupon_text_field( $post_id, $coupon ) {    if( isset( $_POST['email_recipient'] ) ) {        $coupon->update_meta_data( 'email_recipient', sanitize_text_field( $_POST['email_recipient'] ) );        $coupon->save();    }}如果已为所应用的优惠券设置了电子邮件收件人,则系统会将每张所应用的优惠券的电子邮件发送到已提交的订单。警告!仅选择以下功能之一:对于 woocommerce 版本 最高 4.3 (新挂钩)// For Woocommerce version 4.3+add_action( 'woocommerce_checkout_order_created', 'custom_email_for_orders_with_applied_coupon' );function custom_email_for_orders_with_applied_coupon( $order ){    $used_coupons = $order->get_used_coupons();    if( ! empty($used_coupons) ){        foreach ( $used_coupons as $coupon_code ) {            $coupon    = new WC_Coupon( $coupon_code ); // WC_Coupon Object            $recipient = $coupon->get_meta('email_recipient'); // get recipient            if( ! empty($recipient) ) {                $subject = sprintf( __('Coupon "%s" has been applied'), $coupon_code );                $content = sprintf( __('The coupon code "%s" has been applied by a customer'), $coupon_code );                wp_mail( $recipient, $subject, $content ); // Send email            }        }    }}或者对于所有 WooCommerce 版本(自版本 3.0 起)// For all Woocommerce versions (since 3.0)add_action( 'woocommerce_checkout_update_order_meta', 'custom_email_for_orders_with_applied_coupon' );function custom_email_for_orders_with_applied_coupon( $order_id ){    $order = wc_get_order( $order_id );    $used_coupons = $order->get_used_coupons();    if( ! empty($used_coupons) ){        foreach ( $used_coupons as $coupon_code ) {            $coupon    = new WC_Coupon( $coupon_code ); // WC_Coupon Object            $recipient = $coupon->get_meta('email_recipient'); // get recipient            if( ! empty($recipient) ) {                $subject = sprintf( __('Coupon "%s" has been applied'), $coupon_code );                $content = sprintf( __('The coupon code "%s" has been applied by a customer'), $coupon_code );                wp_mail( $recipient, $subject, $content ); // Send email            }        }    }}代码位于活动子主题(或活动主题)的functions.php 文件中。经过测试并有效。
打开App,查看更多内容
随时随地看视频慕课网APP