Правильный способ сделать это - использовать вместо этого woocommerce_dropdown_variation_attribute_options_html
фильтр-хук. Ниже скриншот для обычного переменного продукта с выпадающими списками атрибутов по умолчанию:
Так что есть 2 разных случая:
1) Удаление этого html option
полностью **:
add_filter( 'woocommerce_dropdown_variation_attribute_options_html', 'filter_dropdown_option_html', 12, 2 );
function filter_dropdown_option_html( $html, $args ) {
$show_option_none_text = $args['show_option_none'] ? $args['show_option_none'] : __( 'Choose an option', 'woocommerce' );
$show_option_none_html = '<option value="">' . esc_html( $show_option_none_text ) . '</option>';
$html = str_replace($show_option_none_html, '', $html);
return $html;
}
Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.
Опция html полностью удалена, оставлена только опция со значениями атрибута продукта:
2) Удалите только текст «Выберите опцию» (у вас будет опция без названия метки):
add_filter( 'woocommerce_dropdown_variation_attribute_options_html', 'filter_dropdown_option_html', 12, 2 );
function filter_dropdown_option_html( $html, $args ) {
$show_option_none_text = $args['show_option_none'] ? $args['show_option_none'] : __( 'Choose an option', 'woocommerce' );
$show_option_none_text = esc_html( $show_option_none_text );
$html = str_replace($show_option_none_text, '', $html);
return $html;
}
Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.
Весь код протестирован в последней версии Woocommerce 3.4.x