【发布时间】:2020-04-04 19:56:34
【问题描述】:
你好,我遇到了类似的问题
How to remove woocommerce added cart items and redirect to checkout?
在产品页面上当我点击添加到购物车时,我总是收到此错误“您无法在购物车 woocommerce 中添加另一个 [产品]”
我尝试了 LoicTheAztec 发布的解决方案
1) 加入购物车前清空购物车(如果购物车不为空)
add_filter( 'woocommerce_add_to_cart_validation', 'one_cart_item_at_the_time', 10, 3 );
function one_cart_item_at_the_time( $passed, $product_id, $quantity ) {
if( ! WC()->cart->is_empty())
WC()->cart->empty_cart();
return $passed;
}
2) 添加到购物车重定向到结帐:
add_filter( 'woocommerce_add_to_cart_redirect', 'add_to_cart_checkout_redirection', 10, 1 );
function add_to_cart_checkout_redirection( $url ) {
return wc_get_checkout_url();
}
3) 跳过购物车页面重定向到结帐:
add_action('template_redirect', 'skip_cart_page_redirection_to_checkout');
function skip_cart_page_redirection_to_checkout() {
if( is_cart() )
wp_redirect( wc_get_checkout_url() );
}
此解决方案有效并解决了我的问题,但第一个 sn-p 删除了我已经在购物篮中的所有其他产品,我应该只重置当前产品,而不是整个购物车。我该如何解决这个问题?
【问题讨论】:
标签: wordpress woocommerce hook-woocommerce