【问题标题】:Add WooCommerce coupon through URL通过 URL 添加 WooCommerce 优惠券
【发布时间】:2023-06-26 17:06:01
【问题描述】:

我在使用优惠券时遇到问题。下面的代码可以工作,除非用户第一次访问该站点并且尚未将任何内容添加到购物车中。我需要清除缓存才能重现此错误。

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');

我做错了吗?

【问题讨论】:

    标签: wordpress session woocommerce session-cookies coupon


    【解决方案1】:

    如果您应用优惠券,显然不会存储用户会话。您需要先添加产品或执行其他存储会话的操作。不过我们可以手动完成,即自己创建会话 cookie。

    if( !WC()->session->has_session() )
        WC()->session->set_customer_session_cookie(true);
    

    花了我一整天。希望有人能够使用它。

    【讨论】: