我有我们自己的主题的WordPress版本4.9.5,和WooCommerce作为网上商店的解决方案。
想象一下,一些用户登录到网站并在购物车中添加了一些商品。然后他退出网站,无论他是关闭网页还是注销。一段时间后(无论他是否在同一台计算机上),当同一用户访问网站(作为访客,没有登录),并在购物车中添加一些项目并去结账时,WordPress合并两个购物车(过去的项目和当前添加到购物车中的项目)。我需要删除旧项目,只保留新项目。
示例:(用户登录时购物车内容)
(用户为访客/注销时的购物车内容)
(结帐时登录后的购物车内容)
我只需要cart来保存:
我该怎么做呢?
发布于 2018-06-10 02:09:10
结合塞迪姆的答案和链接中的一段代码:你问题的https://gist.github.com/maxrice/7dc500cd07fa70e2fb5251293d22e485解决方案可能是这样的:
<?php
function clear_persistent_cart_after_login( $user_login, $user ) {
$blog_id = get_current_blog_id();
// persistent carts created in WC 3.1 and below
if ( metadata_exists( 'user', $user->ID, '_woocommerce_persistent_cart' ) ) {
delete_user_meta( $user->ID, '_woocommerce_persistent_cart' );
}
// persistent carts created in WC 3.2+
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);
?>发布于 2019-11-25 04:19:08
试试这个:
add_filter( 'woocommerce_persistent_cart_enabled', '__return_false' );我测试了它,它对我来说是有效的。我希望它能帮助你!
发布于 2018-06-05 17:50:50
设置常规过期时间,请使用下面的链接
https://www.tmdhosting.com/kb/question/how-to-set-cart-expiration-in-woocommerce/
如果这有帮助,请让我知道,不要忘记将其标记为答案。
https://stackoverflow.com/questions/50676645
复制相似问题