Woocommerce 订阅默认情况下不会向客户发送订阅取消,因此我尝试使用
woocommerce_subscription_status_pending-cancel
Hook 添加该消息,功能如下:
add_action('woocommerce_subscription_status_pending-cancel', 'yanco_woocommerce_subscription_status_pending_cancel', 10, 3 );
function yanco_woocommerce_subscription_status_pending_cancel( $subscription ) {
$customer_email = $subscription->get_billing_email();
$wc_emails = WC()->mailer()->get_emails();
$admin_email = $wc_emails['WCS_Email_Cancelled_Subscription']->recipient;
$wc_emails['WCS_Email_Cancelled_Subscription']->trigger( $subscription );
$wc_emails['WCS_Email_Cancelled_Subscription']->recipient = $customer_email;
$wc_emails['WCS_Email_Cancelled_Subscription']->trigger( $subscription );
}
但是当我点击帐户中的“取消”按钮时,此代码不起作用,它一直循环,刷新后没有任何响应,它取消订阅,但不向客户发送电子邮件。
我尝试添加上面的代码,并希望在客户取消订阅时将电子邮件发送给他们。
这已经解决了问题:
add_filter('woocommerce_email_recipient_cancelled_subscription', 'set_customer_as_cancelled_subscription_recipient', 10, 2);
函数 set_customer_as_cancelled_subscription_recipient($recipient, $subscription) { 返回$订阅? $subscription->get_billing_email() : $recipient; }`