在注销时清除一些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的源码,寻找一个提示,但没有发现任何东西,也没有通过一般的搜索。

我知道这是超小众的,但有人有办法吗?

解决方案:

虚惊一场,我把wp_logout的优先级设置为5,突然就开始工作了。

我当时想象的是,就在我想使用会话的时候,会话已经被破坏了,或者类似的情况。

给TA打赏
共{{data.count}}人
人已打赏
未分类

API调用 - 错误。SyntaxError.Unterminated string literal (第8行,文件 "Code") 未定義的字串(第8行,文件 "Code"--Google Apps Script)。

2022-9-8 10:16:21

未分类

将无定向图转换为双定向图

2022-9-8 10:27:16

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索