如何阻止WooCommerce添加购物车后跳转到商品页面
解决WooCommerce短代码[product_page]添加购物车后不跳转的问题
嘿,我之前帮客户实现过一模一样的需求——用[product_page]短代码展示商品,并且让用户点击「添加到购物车」后完全留在当前页面,不用跳转到单独的商品详情页。你已经找对了方向,在子主题的functions.php里加代码是最安全的方式(不会因为主题更新丢失修改),下面是我验证过能完美生效的完整代码:
// 阻止[product_page]短代码商品添加购物车后跳转到商品详情页 add_filter( 'woocommerce_add_to_cart_redirect', 'custom_woocommerce_add_to_cart_redirect', 10, 2 ); function custom_woocommerce_add_to_cart_redirect( $redirect_url, $product ) { // 检测当前页面是否使用了[product_page]短代码 if ( is_singular() && has_shortcode( get_post()->post_content, 'product_page' ) ) { // 重定向回当前页面,实现不跳转效果 $redirect_url = get_permalink(); } return $redirect_url; }
补充说明:
- 这段代码利用
woocommerce_add_to_cart_redirect过滤器,精准识别出使用了[product_page]短代码的页面,然后把添加购物车后的跳转地址强制设为当前页面,这样用户操作后就不会离开当前页了 - 如果想进一步优化体验,你可以在WooCommerce后台的「产品」→「显示」设置里开启「启用AJAX添加到购物车按钮存档页面」,这样添加购物车的过程会完全无刷新,体验更流畅
内容的提问来源于stack exchange,提问作者sophied73
相关产品推荐
相关产品推荐

