客户更新信用卡时触发邮件——WooCommerce Subscription技术咨询
WooCommerce Subscriptions 更新信用卡触发邮件解决方案
一、利用内置钩子实现
WooCommerce Subscriptions 内置了woocommerce_subscription_payment_method_updated动作钩子,当客户成功更新订阅的支付方式(包括信用卡信息)时会自动触发。你可以通过以下代码实现邮件发送功能:
将代码添加到主题的functions.php文件、子主题的functions.php或自定义代码插件中:
add_action( 'woocommerce_subscription_payment_method_updated', 'notify_customer_payment_method_updated', 10, 2 ); function notify_customer_payment_method_updated( $subscription, $old_payment_method ) { // 获取客户基础信息 $customer_email = $subscription->get_billing_email(); $full_name = trim( $subscription->get_billing_first_name() . ' ' . $subscription->get_billing_last_name() ); $subscription_id = $subscription->get_id(); // 自定义邮件内容 $email_subject = '您的订阅支付信息已更新'; $email_content = "您好 {$full_name}:\n\n您的订阅(编号:{$subscription_id})的支付方式已成功更新。\n\n若此操作非您本人所为,请立即联系我们核实账户安全。"; // 发送邮件 wp_mail( $customer_email, $email_subject, $email_content ); }
如果需要HTML格式的邮件,可以添加headers参数调整,比如:
$headers = array('Content-Type: text/html; charset=UTF-8'); wp_mail( $customer_email, $email_subject, '<p>您好 '.$full_name.':</p><p>您的订阅(编号:'.$subscription_id.')的支付方式已成功更新。</p><p>若此操作非您本人所为,请立即联系我们核实账户安全。</p>', $headers );
二、免费插件组合方案
目前没有专门针对该需求的单一免费插件,但可以通过以下组合实现:
- 使用
Code Snippets插件管理自定义代码,避免直接修改主题文件导致代码丢失。 - 搭配
WP Mail SMTP插件确保邮件能正常送达收件箱,避免被标记为垃圾邮件。 - 若需要更美观的邮件模板,可使用
MailPoet插件设计邮件内容,再结合上述钩子触发发送。
内容的提问来源于stack exchange,提问作者Arun George
相关产品推荐
相关产品推荐

