如何修改WooCommerce购物车通知中‘CONTINUE SHOPPING’文本及按钮顺序?
解决WooCommerce购物车通知的两个问题:修改按钮文本与调整元素顺序
一、修改“CONTINUE SHOPPING”按钮文本
你之前的代码未生效,大概率是主题或其他插件已覆盖wc_add_to_cart_message_html的默认输出,或过滤器优先级不足。推荐两种可靠方案:
方法1:精准替换默认文本
使用gettext过滤器直接替换WooCommerce内置的按钮文本,不受主题结构影响:
add_filter( 'gettext', 'custom_continue_shopping_text', 20, 3 ); function custom_continue_shopping_text( $translated_text, $text, $domain ) { if ( 'woocommerce' === $domain && 'Continue shopping' === $text ) { $translated_text = '继续购物'; // 替换为你需要的自定义文本 } return $translated_text; }
方法2:重写通知完整结构(同时解决顺序调整)
若需同时调整按钮与提示信息的顺序,直接重写整个通知的HTML结构更高效,设置高优先级(如999)确保覆盖主题自定义:
add_filter( 'wc_add_to_cart_message_html', 'custom_add_to_cart_message_with_order', 999, 2 ); function custom_add_to_cart_message_with_order( $message, $products ) { // 自定义提示文本 $custom_message = '商品已添加到购物车,感谢您的选购!'; // 获取继续购物按钮跳转链接 $continue_shopping_url = wc_get_page_permalink( 'shop' ); // 生成按钮HTML,替换自定义文本 $button_html = sprintf( '<a href="%s" class="button wc-forward">%s</a>', esc_url( $continue_shopping_url ), esc_html__( '继续购物', 'woocommerce' ) ); // 调整元素顺序:按钮在前,提示文本在后(如需调换顺序,交换两者位置即可) $message = '<div class="woocommerce-message" role="alert">' . $button_html . ' ' . $custom_message . '</div>'; return $message; }
二、调整按钮与提示信息的顺序
通过上述方法2可直接控制顺序:
- 按钮在前:保留
$button_html . ' ' . $custom_message的拼接顺序 - 按钮在后:修改为
$custom_message . ' ' . $button_html
注意事项
- 代码需添加至主题
functions.php文件末尾,或使用自定义代码插件(如Code Snippets) - 测试前清空网站缓存,避免旧输出干扰结果
- 若主题有自定义购物车通知模板,建议优先使用过滤器方案,避免修改主题文件影响后续更新
内容的提问来源于stack exchange,提问作者Ariane Tissot
相关产品推荐
相关产品推荐

