WooCommerce自定义「继续购物」按钮技术求助
嘿,作为WooCommerce新手能自己动手折腾按钮代码,已经超棒啦!你现在的代码片段没写完,先给你补全默认跳转商店页的完整代码,再给你几个更实用的优化方案:
优化WooCommerce「继续购物」按钮的跳转逻辑
默认跳转商店页的完整代码
你之前的代码应该是没写完,完整版本是这样的:
add_action( 'woocommerce_cart_coupon', 'continue_shopping_button', 10 ); add_action( 'woocommerce_before_single_product', 'continue_shopping_button', 10 ); function continue_shopping_button(){ ?> <a class="button wc-backward" href="<?php echo esc_url( apply_filters( 'woocommerce_return_to_shop_redirect', wc_get_page_permalink( 'shop' ) ) ); ?>"> <?php esc_html_e( '继续购物', 'woocommerce' ); ?> </a> <?php }
方案1:跳转到用户之前浏览的页面(更友好)
这个方案会让按钮自动跳回用户上一次访问的页面,没有来源时才 fallback 到商店页,体验更贴合用户习惯:
add_action( 'woocommerce_cart_coupon', 'continue_shopping_button', 10 ); add_action( 'woocommerce_before_single_product', 'continue_shopping_button', 10 ); function continue_shopping_button(){ // 获取上一页链接,无来源则用商店页作为备选 $redirect_url = wp_get_referer() ? esc_url( wp_get_referer() ) : esc_url( wc_get_page_permalink( 'shop' ) ); ?> <a class="button wc-backward" href="<?php echo $redirect_url; ?>"> <?php esc_html_e( '继续购物', 'woocommerce' ); ?> </a> <?php }
方案2:指定固定跳转页面
如果你想让按钮固定跳转到某个分类页、自定义商品集合页,直接替换$redirect_url的值就行:
add_action( 'woocommerce_cart_coupon', 'continue_shopping_button', 10 ); add_action( 'woocommerce_before_single_product', 'continue_shopping_button', 10 ); function continue_shopping_button(){ // 方式1:通过页面别名获取链接(把your-category-slug换成你的分类/页面别名) $redirect_url = esc_url( get_permalink( get_page_by_path( 'your-category-slug' ) ) ); // 方式2:直接写固定URL(替换成你想要的页面地址) // $redirect_url = 'https://your-site.com/your-target-page/'; ?> <a class="button wc-backward" href="<?php echo $redirect_url; ?>"> <?php esc_html_e( '继续购物', 'woocommerce' ); ?> </a> <?php }
小提醒:
- 代码可以添加到主题的
functions.php文件,或者用专门的自定义代码插件(比如Code Snippets),避免主题更新后代码丢失。 wc-backward是WooCommerce自带的按钮样式类,会自动适配你当前主题的按钮风格,不用额外写CSS样式。
内容的提问来源于stack exchange,提问作者Bambinos
相关产品推荐
相关产品推荐

