如果用户在结帐期间登录,我将尝试删除所有旧购物车商品。
例如:
一种。用户几天前添加了 2 个项目
- Cap
- Ball
然后他注销了,今天他在购物车中添加了一些要购买的商品。
- Hoodie
- Mobile Phone
他被要求在结账时登录,购物车显示 4 件产品。
- Cap
- Ball
- Hoodie
- Mobile Phone
如何只显示最新的两个产品并删除旧的。
- Hoodie
- Mobile Phone
我将以下代码添加到我的 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);
我只希望在从结帐页面登录时删除它们。我也尝试过使用永久链接,但没有用。
请帮助。
最佳答案
- 将此添加到
functions.php
:
add_filter( 'woocommerce_persistent_cart_enabled', '__return_false' );
注销并重新登录
从
function.php
中删除该行
关于wordpress - Woocommerce - 如果在结账时登录,则删除所有旧购物车商品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54783343/