WooCommerce - 在允许优惠券之前检查 Mailchimp 订阅者
WooCommerce - Check Mailchimp subscribers before allowing coupon
我想解决有关 MailChimp 和 WooCommerce 集成的难题,我们的情况是这样的,我们使用 MailChimp 发送静态优惠券,由于我们内部的 CRM,它们是静态的。发送静态优惠券后,人们就可以在我们的网站上使用它,但是,没有任何措施可以防止与尚未注册的人共享此代码,因此我们希望在您使用特定的优惠券,它会根据 Mailchimp 检查您在网站上使用的电子邮件地址,如果您在列表中,则优惠券适用,否则不适用,我只是想看看这是否可能,如果可能的话如何?
我们在这方面迷路了,所以可以在这里使用社区的帮助,我们觉得这个线程将来也可能对其他人有用,感谢它是特定的,但以后可能会用于安全性。
非常感谢!
使用 Drewms Mailchimp wrapper 或类似的方法,您可以执行以下操作,不要忘记包含您的 MailChimp API 密钥和列表 ID。
include 'Mailchimp.php';
use \DrewM\MailChimp\MailChimp;
$MailChimp = new MailChimp('your**api***key');
function emailExistsMc($subscriberMail, $list_id){
global $MailChimp;
$subscriber_hash = $MailChimp->subscriberHash($subscriberMail);
$result = $MailChimp->get("lists/$list_id/members/$subscriber_hash");
if($result['status'] == 'subscribed') {
return true;
} else {
return false;
}
}
add_action('woocommerce_checkout_process', 'my_themes_guest_email_checker');
function my_themes_guest_email_checker() {
global $woocommerce;
$list_id = <list id here>;
// Check checkout email address against MC list, if exists proceed
if ( emailExistsMc($_POST['billing_email'], $list_id) ) {
} else {
$woocommerce->add_error( __('This coupon is not valid') );
}
}
我想解决有关 MailChimp 和 WooCommerce 集成的难题,我们的情况是这样的,我们使用 MailChimp 发送静态优惠券,由于我们内部的 CRM,它们是静态的。发送静态优惠券后,人们就可以在我们的网站上使用它,但是,没有任何措施可以防止与尚未注册的人共享此代码,因此我们希望在您使用特定的优惠券,它会根据 Mailchimp 检查您在网站上使用的电子邮件地址,如果您在列表中,则优惠券适用,否则不适用,我只是想看看这是否可能,如果可能的话如何?
我们在这方面迷路了,所以可以在这里使用社区的帮助,我们觉得这个线程将来也可能对其他人有用,感谢它是特定的,但以后可能会用于安全性。
非常感谢!
使用 Drewms Mailchimp wrapper 或类似的方法,您可以执行以下操作,不要忘记包含您的 MailChimp API 密钥和列表 ID。
include 'Mailchimp.php';
use \DrewM\MailChimp\MailChimp;
$MailChimp = new MailChimp('your**api***key');
function emailExistsMc($subscriberMail, $list_id){
global $MailChimp;
$subscriber_hash = $MailChimp->subscriberHash($subscriberMail);
$result = $MailChimp->get("lists/$list_id/members/$subscriber_hash");
if($result['status'] == 'subscribed') {
return true;
} else {
return false;
}
}
add_action('woocommerce_checkout_process', 'my_themes_guest_email_checker');
function my_themes_guest_email_checker() {
global $woocommerce;
$list_id = <list id here>;
// Check checkout email address against MC list, if exists proceed
if ( emailExistsMc($_POST['billing_email'], $list_id) ) {
} else {
$woocommerce->add_error( __('This coupon is not valid') );
}
}