我正在使用WP作业管理器和Woo订阅。
现在:
最初我选择了一个包(woo subscription)
然后我添加了所有细节。
我试过这个Woocommerce Delete all products from cart and add current product to cart但没有帮助。
答案 0 :(得分:5)
更新了(2种不同的替代方案):
您应该尝试以下方法:
add_filter( 'woocommerce_add_to_cart_validation', 'remove_cart_item_before_add_to_cart', 20, 3 );
function remove_cart_item_before_add_to_cart( $passed, $product_id, $quantity ) {
if( ! WC()->cart->is_empty())
WC()->cart->empty_cart();
return $passed;
}
代码进入活动子主题(或主题)的function.php文件。使用ajax-add-to-cart和普通的add-to-cart ... 经过测试并正常工作 ...
或者您可以使用另一个将保留在购物车中的最后添加项目:
// Keep only last cart item
add_action( 'woocommerce_before_calculate_totals', 'keep_only_last_cart_item', 30, 1 );
function keep_only_last_cart_item( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
if ( did_action( 'woocommerce_before_calculate_totals' ) >= 2 )
return;
$cart_items = $cart->get_cart();
if( count($cart_items) > 1 ){
$cart_item_keys = array_keys( $cart_items );
$cart->remove_cart_item( reset($cart_item_keys) );
}
}
代码进入活动子主题(或主题)的function.php文件。 经过测试并正常工作
答案 1 :(得分:-1)
转到您的站点数据库,查找表“ wp_woocommerce_sessions”,然后查看其“ session_id”列是否包含0值