从Woocommerce 3中的变量产品下拉列表中删除“选择一个选项”

问题描述 投票:1回答:2

我想从“选项”后面的WooCommerce产品页面的下拉列表中删除:WooCommerce "Select an option" issue

我发现很多,显然不是工作代码应该做的工作。可能已经过时了最新的WooCommerce版本。

我尝试过并且部分工作:

add_filter( 'woocommerce_dropdown_variation_attribute_options_args', 'my_wc_filter_dropdown_args', 10 );
function my_wc_filter_dropdown_args( $args ) {
    $args['show_option_none'] = '';
    return $args;
}

这只适用于我在''之间设置一些文本,而不是空的。当它完全像上面那样添加到functions.php中时,它没有改变并设置为默认文本 - 如图所示“选择一个选项”。我不确定这里有什么问题。我也试过“假”或“无”,但没有使用任何一个选项。

如果有人能帮助我,我将不胜感激。

我正在使用最新的WP 4.9.6和最新的WooCommerce(无论它是什么版本)。一切都更新到最新版本,甚至PHP(7.2)。

php wordpress woocommerce html-select product
2个回答
2
投票

正确的方法是使用woocommerce_dropdown_variation_attribute_options_html过滤器钩子代替。在具有默认属性下拉列表的常规变量产品的屏幕截图下方:

enter image description here

所以有两种不同的情况:

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选项,仅保留产品属性值的选项:

enter image description here


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文件中。经过测试和工作。

enter image description here

所有代码都在最新的Woocommerce 3.4.x版上进行测试


0
投票

只需输入功能文件即可

add_filter( 'woocommerce_dropdown_variation_attribute_options_args', 'wc_remove_options_text');
function wc_remove_options_text( $args ){
    $args['show_option_none'] = '';
    return $args;
}
© www.soinside.com 2019 - 2024. All rights reserved.