注销时清除一些woocommerce购物车元

时间:2020-04-23 21:11:07

标签: woocommerce hook-woocommerce

我有一些在结帐过程中建立并保存在购物车对象上的个人信息。

如果用户注销,那么我想保留购物车中的产品选择,但是删除我添加到购物车中的pii。

我已经在普通模板中的其他地方测试过此代码,它可以清除购物车:

    public function clear_pii_from_cart()
    {
        if (WC()->cart == null) {
            return;
        }

        foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) {
            unset(WC()->cart->cart_contents[$cart_item_key]['personalinfo']);
        }

        // save to cart
        WC()->cart->set_session();
    }

但是当我通过wp_logout操作调用它时,注销后信息仍然在购物车中。

我无法弄清楚如何对其进行任何登录才能查看我正在处理的数据结构。

它只是注销,似乎什么也没做。

我知道该钩子正在工作,因为如果我将die();放入其中,则会得到空白页。

我已经在github上整理了WooCommerce源代码,以寻找提示,但没有找到任何内容,也没有通过常规搜索找到

我知道这是超级利基市场,但是有人有想法吗?

1 个答案:

答案 0 :(得分:0)

错误警报,我将wp_logout的优先级设置为5,它突然开始工作。

我以为是在尝试使用会话或类似操作时,该会话已被破坏。