用不同的自定义文本替换 Woocommerce 变体属性下拉列表中的默认 "Select Option" 文本
Replace default "Select Option" text in Woocommerce variation attribute dropdowns by different custom ones
我刚开始使用 Woocommerce,对可变产品的下拉 select 字段有疑问。在 woocommerce 中,当此下拉菜单中没有 selected 时,会显示 "Select Option" 文本。
我需要每个下拉 select 字段选项在尚未 select 编辑任何内容时显示不同的文本。
我发现这段代码用我想要的任何内容替换了标准 "Select Option" 文本,但它适用于所有下拉菜单 select 字段。
function custom_woocommerce_product_add_to_cart_text($args){
$args['show_option_none'] = __( 'Select Framed or Unframed Sizes', 'woocommerce' );
return $args;
}
我注意到第一个下拉 select 字段的 ID 为 "type",第二个下拉字段的 ID 为 "size"。
我们可以更改上面的代码并按照以下方式进行操作吗:
- 如果 ID = 类型,则使用文本 A,
- 如果 ID = 大小,则使用文本 B?
我还可以强制第一个下拉列表始终显示所有选项吗?
假设我的第一个下拉列表有选项 A、B、C 和 D:
- 如果我 select A,第二个下拉列表将给我 1、2、3 作为选项。我选择2.
- 如果现在我尝试在第一个字段中创建另一个 selection,它只会显示 A 和 C,而将 B 和 D 排除在外,因为 B 和 D 在 1 和 3 中不可用。
听起来很混乱,但我希望它是有道理的。
感谢任何帮助。
在 woocommerce 中,属性 ID(或 分类法)全部以 pa_
作为 "p 开头产品 attribute,因此:
- "Type" 的
<select>
html 标签应该有:id="pa_type"
(但不是 id="type"
) ,
- "Size" 的
<select>
html 标签应该有:id="pa_size"
(但不是 id="size"
) .
现在您可以通过这种方式通过分类法块来定位每个属性:
add_filter( 'woocommerce_dropdown_variation_attribute_options_args', 'dropdown_variation_attribute_options', 10, 1 );
function dropdown_variation_attribute_options( $args ){
// For attribute "Type"
if( 'pa_type' == $args['attribute'] )
$args['show_option_none'] = __( 'Select Framed or Unframed Types', 'woocommerce' );
// For attribute "Sizes"
if( 'pa_size' == $args['attribute'] )
$args['show_option_none'] = __( 'Select Framed or Unframed Sizes', 'woocommerce' );
return $args;
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。
已测试并有效。
You are asking many different questions. Here I answer just one. It's the way on Whosebug.
在 WooCommerce 中一切皆有可能,这取决于您的知识、技能和花费的时间。
Your 2nd question is something advanced, complicated and a bit too broad.
我刚开始使用 Woocommerce,对可变产品的下拉 select 字段有疑问。在 woocommerce 中,当此下拉菜单中没有 selected 时,会显示 "Select Option" 文本。
我需要每个下拉 select 字段选项在尚未 select 编辑任何内容时显示不同的文本。
我发现这段代码用我想要的任何内容替换了标准 "Select Option" 文本,但它适用于所有下拉菜单 select 字段。
function custom_woocommerce_product_add_to_cart_text($args){
$args['show_option_none'] = __( 'Select Framed or Unframed Sizes', 'woocommerce' );
return $args;
}
我注意到第一个下拉 select 字段的 ID 为 "type",第二个下拉字段的 ID 为 "size"。
我们可以更改上面的代码并按照以下方式进行操作吗:
- 如果 ID = 类型,则使用文本 A,
- 如果 ID = 大小,则使用文本 B?
我还可以强制第一个下拉列表始终显示所有选项吗?
假设我的第一个下拉列表有选项 A、B、C 和 D:
- 如果我 select A,第二个下拉列表将给我 1、2、3 作为选项。我选择2.
- 如果现在我尝试在第一个字段中创建另一个 selection,它只会显示 A 和 C,而将 B 和 D 排除在外,因为 B 和 D 在 1 和 3 中不可用。
听起来很混乱,但我希望它是有道理的。
感谢任何帮助。
在 woocommerce 中,属性 ID(或 分类法)全部以 pa_
作为 "p 开头产品 attribute,因此:
- "Type" 的
<select>
html 标签应该有:id="pa_type"
(但不是id="type"
) , - "Size" 的
<select>
html 标签应该有:id="pa_size"
(但不是id="size"
) .
现在您可以通过这种方式通过分类法块来定位每个属性:
add_filter( 'woocommerce_dropdown_variation_attribute_options_args', 'dropdown_variation_attribute_options', 10, 1 );
function dropdown_variation_attribute_options( $args ){
// For attribute "Type"
if( 'pa_type' == $args['attribute'] )
$args['show_option_none'] = __( 'Select Framed or Unframed Types', 'woocommerce' );
// For attribute "Sizes"
if( 'pa_size' == $args['attribute'] )
$args['show_option_none'] = __( 'Select Framed or Unframed Sizes', 'woocommerce' );
return $args;
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。
已测试并有效。
You are asking many different questions. Here I answer just one. It's the way on Whosebug.
在 WooCommerce 中一切皆有可能,这取决于您的知识、技能和花费的时间。
Your 2nd question is something advanced, complicated and a bit too broad.