哈士奇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 文件中。经过测试并有效。