wordpress - 通过 URL 添加 WooCommerce 优惠券
问题描述
我在申请优惠券时遇到了麻烦。下面的代码可以正常工作,除非用户第一次访问该站点并且尚未将任何内容添加到购物车中。我需要清除缓存以重现此错误。
function process_url()
{
if( empty($_GET['coupon']) )
return;
// Add the discount.
global $woocommerce;
$result = $woocommerce->cart->add_discount($_GET['coupon']);
}
add_action('init', 'process_url');
难道我做错了什么?
解决方案
显然,如果您应用优惠券,则不会存储用户会话。您需要先添加产品或执行其他存储会话的操作。不过,我们可以手动完成,即自己创建会话 cookie。
if( !WC()->session->has_session() )
WC()->session->set_customer_session_cookie(true);
带了我一整天。希望有人能够使用它。
推荐阅读
- xampp - XAMPP 退出问题,xampp 没有退出,而是显示以下错误
- reactjs - 电子样板反应:反应路线不起作用,当喜欢其他页面时
- python - .append in nested if 不按顺序添加
- python - 我的变量和函数的未绑定本地错误,敌人的战斗
- excel - Excel VBA 错误:对象变量或未设置块变量
- c++11 - 前向声明的模板类的指针变量?
- excel - 解析表名称
- javascript - 带有承诺的 javascript foreach
- amazon-ec2 - mup deploy 超时错误,推送地址错误
- linux - CGDB:如何水平滚动 GDB 窗口?