【问题标题】:WooCommerce Redirect to Cart After Item Added添加项目后,WooCommerce 重定向到购物车
【发布时间】:2017-04-21 13:01:02
【问题描述】:

我已添加代码以一次只允许购物车中的 1 件商品。但是,当用户将任何项目添加到他们的购物车时,它不会将他们定向到购物车页面。

这是我正在使用的代码:

add_filter( 'woocommerce_add_cart_item_data', 'woo_custom_add_to_cart' );

function woo_custom_add_to_cart( $cart_item_data ) {
global $woocommerce;
$woocommerce->cart->empty_cart();
wc_add_notice( 'WARNING MESSAGE - You can only have 1 Item in your Cart. Previous Items have been removed.', 'error' );

return $cart_item_data;
}

所以我的目标是保留此功能和错误消息,但将用户带到购物车。我确信这段代码中有一些东西会阻止用户进入购物车并停留在产品页面上。

提前感谢您的帮助!

【问题讨论】:

  • 您可以从 WC 选项重定向到购物车。见this answer
  • 感谢您的回答,但该框已被选中。我认为我上面提到的代码覆盖了 WordPress 管理员中的 WooCommerce 选项。
  • 如果添加错误,WooCommerce 将不会重定向。见source。您可以尝试将通知类型设置为“通知”。
  • 如果你想使用插件。试试“WooCommerce 穷人瑞士刀”

标签: php wordpress woocommerce hook-woocommerce


【解决方案1】:

如果您添加错误,那么 WooCommerce 将不会重定向。见source。您可以尝试将通知类型设置为“通知”。

添加商品时清除购物车:

add_filter( 'woocommerce_add_to_cart_validation', 'so_41002991_empty_cart' );
function so_41002991_empty_cart( $valid ){
    WC()->cart->empty_cart();
    wc_add_notice( __( 'WARNING MESSAGE - You can only have 1 Item in your Cart. Previous Items have been removed.', 'your-plugin' ), 'notice' );
    return $valid;
}

有一个 WooCommerce 设置可以启用重定向到购物车。但您也可以选择使用一个过滤器:

add_filter( 'woocommerce_add_to_cart_redirect', 'so_41002991_redirect_to_cart' );
function so_41002991_redirect_to_cart( $url ){
    return wc_get_cart_url();
}

【讨论】:

  • 您提到的最佳选项非常有效!!!更改为通知而不是错误就可以了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-01
  • 2018-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多