You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WooCommerce“加入购物车”按钮改“查看产品/阅读更多”及文本异常排查

解决WooCommerce产品列表按钮文本显示异常的问题

嘿,咱们来搞定你的WooCommerce产品列表按钮显示“Button”而不是“阅读更多”的问题!你的跳转功能正常,说明链接逻辑没问题,问题大概率出在按钮文本的设置环节——要么是添加自定义按钮时没明确指定文本,要么是代码参数用错了。结合你提供的移除默认按钮的代码片段,我给你梳理排查方向和解决方案:

可能的问题根源

  • 你添加自定义按钮的函数里,没有明确设置按钮文本内容,WooCommerce自动用了默认的“Button”文本
  • 可能是钩子使用或参数传递有误,导致自定义文本没被正确渲染

完整的修正代码

直接用这套代码替换你现有的相关逻辑,既能移除默认“加入购物车”按钮,又能显示“阅读更多”并跳转产品详情页:

/* 1. 移除产品列表页的默认加入购物车按钮 */
function remove_loop_add_to_cart_button() {
    remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
}
add_action( 'init', 'remove_loop_add_to_cart_button' );

/* 2. 添加自定义"阅读更多"按钮,跳转至产品详情页 */
function add_custom_read_more_button() {
    global $product;
    // 获取产品详情页安全链接
    $product_link = esc_url( get_permalink( $product->get_id() ) );
    // 输出带正确文本的按钮,同时保留主题默认样式
    echo '<a href="' . $product_link . '" class="button product_type_simple add_to_cart_button">' . __( '阅读更多', 'woocommerce' ) . '</a>';
}
add_action( 'woocommerce_after_shop_loop_item', 'add_custom_read_more_button', 10 );

关键修正说明

  • 用__( '阅读更多', 'woocommerce' )明确设置按钮文本,既保证显示正确,还支持多语言适配(如果你的站点需要的话)
  • 保留了WooCommerce默认的按钮类名,这样按钮会继承你主题的样式,不会出现样式错乱
  • 用esc_url()处理产品链接,符合WordPress的安全编码规范,避免URL风险

额外自查点

如果你之前已经写了添加按钮的函数,检查这几点:

  • 是不是不小心把按钮文本写死成了“Button”?
  • 是不是忘记输出自定义文本,或者文本拼写错误?
  • 钩子的优先级是否和被移除的默认按钮一致(默认是10),优先级不对可能导致文本被覆盖

内容的提问来源于stack exchange,提问作者Amber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:35:16