在woocommerce中手动对优惠券应用电子邮件限制的代码

时间:2014-08-13 16:13:04

标签: wordpress wordpress-plugin woocommerce

所以我有一个使用wordpress和woo-commerce的电子商务网站,现在使用智能优惠券woocommerce插件扩展,我有办法创建一个信用卡/礼品卡(最初没有电子邮件限制)并在第一次使用礼品卡时手动将当前用户的电子邮件分配为电子邮件限制。

我试图使用礼品卡作为代金券来创建一个vooucher系统,以便在我的商店购买产品。

1 个答案:

答案 0 :(得分:0)

由于您没有任何代码可以显示您正在使用的内容,请尝试此操作。

$coupon_code = 'some-code-I-created';
$user = wp_get_current_user();//Get the current user object
$coupon = new WC_Coupon( $coupon_code );//Get the coupon object
$emails = $coupon->get_email_restrictions();//Returns an empty array or array of emails
$emails[] = strtolower($user->billing_email);//Add user's billing email address to the array
$emails = array_filter($emails);//Remove empty values
array_unique($emails);//Remove any duplicate values
$coupon->set_email_restrictions($emails);//Set the coupon's array with the updated array
$coupon->save();//Save the coupon

如果我要批量添加电子邮件地址(比如使用array_merge()而不是一次添加一个地址),最好通过在更新之前删除任何空值或重复值来确保数组是干净的。优惠券对象。

此外,WooCommerce会将所有小写字母的帐单邮寄地址与优惠券中的受限制电子邮件进行比较,因此请确保将其添加到优惠券时将其全部小写添加,以便他们正确验证。 Source。这个错误可能会在将来修复,但直到那时......