在 WooCommerce 中更改“选择一个选项”变体下拉标签

Change ‘Choose an Option’ variation dropdown label in WooCommerce

我尝试将 "Select a option" 的值更改为属性名称。因此,在您可以 select 颜色的下拉菜单中,它应该是名称颜色作为第一个颜色。到目前为止,它使用此代码片段

add_filter( 'woocommerce_dropdown_variation_attribute_options_args', 'cinchws_filter_dropdown_args', 10 );

function cinchws_filter_dropdown_args( $args ) {
    $var_tax = get_taxonomy( $args['attribute'] );
    $args['show_option_none'] = apply_filters( 'the_title', $var_tax->labels->name );
    return $args;
}

我现在遇到的问题是它显示"Product Color"或"Product Material",所以它在属性值之前添加了一个产品。我怎样才能只得到属性值?

可以使用wc_attribute_label()专用函数获取商品属性标签名称:

add_filter( 'woocommerce_dropdown_variation_attribute_options_args', 'filter_dropdown_variation_args', 10 );
function filter_dropdown_variation_args( $args ) {
    $args['show_option_none'] = apply_filters( 'the_title', wc_attribute_label( $args['attribute'] ) );

    return $args;
}

代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。

OR 你可以使用 singular_name 而不是 name 像:

add_filter( 'woocommerce_dropdown_variation_attribute_options_args', 'filter_dropdown_variation_args', 10 );
function filter_dropdown_variation_args( $args ) {
    $args['show_option_none'] = apply_filters( 'the_title', get_taxonomy( $args['attribute'] )->labels->singular_name );

    return $args;
}

代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。