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

如何为Woocommerce特定分类修改可变产品的Select Options按钮文本?

解决WooCommerce仅特定分类可变产品修改按钮文本的问题

你之前的代码失效原因是is_product_category('cat1')的判断逻辑不对——这个函数只在产品分类归档页面(比如yourdomain.com/product-category/cat1/)才会返回true,而你需要的是只要产品属于cat1分类,不管在详情页还是列表页都生效,所以得换一种方式判断产品所属分类。

正确的做法是用has_term()函数直接检查当前产品是否属于目标分类,修改后的代码如下:

add_filter( 'woocommerce_product_add_to_cart_text', 'change_select_options_button_text', 9999, 2 ); 
function change_select_options_button_text( $label, $product ) { 
   // 检查产品是可变类型,且属于slug为cat1的产品分类
   if ( $product->is_type( 'variable' ) && has_term( 'cat1', 'product_cat', $product ) ) { 
      return 'Select Dates'; 
   } 
   return $label; 
}

额外说明:

  • 如果你想通过分类ID或者分类名称来判断,只需要修改has_term的第一个参数:
    • 用分类ID(比如ID为5):has_term( 5, 'product_cat', $product )
    • 用分类名称(比如名称是"度假套餐"):has_term( '度假套餐', 'product_cat', $product )
  • 代码可以添加到主题的functions.php文件,或者使用自定义代码插件(比如Code Snippets)来添加,避免主题更新丢失代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 07:25:27