我有一个插件,可以向他们输入的电子邮件发送支持者推荐优惠券代码。当观众收到这封电子邮件时,我想创建一个流程,点击电子邮件中的“立即购物”,优惠券将自动添加。
截至目前,对于“立即购物”按钮下的链接,我输入了以下内容:
websitename.biz/cart__trashed?code=DISCOUNTCODE
要处理$code
我把它放在我的functions.php文件中:
add_action('woocommerce_before_cart', 'discount');
function discount( ) {
global $woocommerce;
$code= $_GET["code"];
if(!empty($code)){
if($woocommerce->cart->add_discount($code)){
echo '<div class="woocommerce_message"><strong>Applied coupon!</strong></div>';
}
}
}
我面临的问题是:
我相信它是因为购物车是空的,代码不起作用。
只需要在受众点击链接时应用代码。
我怎样才能使这个工作?
答案 0 :(得分:10)
正确的方法应该是:
您可以从任何网址设置任何现有的优惠券代码(例如商店页面,其他存档页面,产品页面,我的帐户页面或任何现有网页)添加到此现有网址:
{{1最后 (其中?code=DISCOUNTCODE
是您的优惠券代码名称)。
以下是代码:
DISCOUNTCODE
代码进入活动子主题(或活动主题)的function.php文件或任何插件文件中。
这是经过测试和运作的
答案 1 :(得分:1)
使用以下代码使coupan在任何情况下都有效
add_filter('woocommerce_coupon_is_valid','coupon_always_valid',10,1);
function coupon_always_valid($valid){
$valid = true;
return $valid ;
}
答案 2 :(得分:0)
add_action('woocommerce_before_cart', 'discount');
function discount( ) {
global $woocommerce;
$code= $_GET["code"];
if(!empty($code)){
if(WC()->session->set( 'applied_coupons', $code )){
echo '<div class="woocommerce_message"><strong>Applied coupon!</strong></div>';
}
}
}