wordpress - 在结帐期间登录时删除以前的购物车项目
问题描述
如果用户在结帐期间登录,我正在尝试删除所有旧购物车项目。
例如:
一。用户几天前添加了 3 个项目
- 帽
- 球
- 钥匙圈
湾。然后他注销了,今天他在购物车中添加了一些要购买的物品。
- 连帽衫
- 手机
他在结账时被要求登录,购物车显示 4 个产品。
- 帽子
- 球
- 钥匙圈
- 连帽衫
- 手机
如何只显示两个最新产品并删除旧产品。
- 连帽衫
- 手机
我将以下代码添加到我的代码中,functions.php
但它会从所有页面中删除所有先前添加的产品。
function clear_persistent_cart_after_login( $user_login, $user ) {
$blog_id = get_current_blog_id();
if ( metadata_exists( 'user', $user->ID, '_woocommerce_persistent_cart_' . $blog_id ) ) {
delete_user_meta( $user->ID, '_woocommerce_persistent_cart_' . $blog_id );
}
}
add_action('wp_login', 'clear_persistent_cart_after_login', 10, 2);
我只希望在从结帐页面登录时删除它们。我也尝试过使用永久链接,但它没有用。
请帮忙。
解决方案
推荐阅读
- r - 函数矩阵
- git - git SSL 上的 URL 不正确
- mongodb - 如何检查一个值是否存在于整个 MongoDB 集合中的任何位置?
- swift - 如何用闭包简化这个 Swift 代码
- javascript - 通过使用 source 属性来选择图像元素来查找它
- python-3.x - 在 CANbus 上接收消息总是返回与 python-can 相同的值
- visual-studio-2019 - 使用 IntelliTest 为我的代码生成单元测试
- c# - 尝试读取 OracleDataReader 时如何修复“关闭对象上的无效操作”异常
- azure - 刷新令牌被拒绝和空响应以查看令牌存储中的令牌
- flutter - Visual Studio Code 在 Flutter 中添加“prefix0”