删除产品变体上的“选择选项”并改为“自动选择”

时间:2018-11-19 作者:wooq123

我在WooCommerce网站上的可变产品上有一个特定的下拉字段,只有一个选项可用。示例:客户选择项目“类型”,然后选择“颜色”,最后选择“零件号”,其中“零件号”下拉列表始终只有一个选项。

我想将站点配置为从“零件号”下拉列表中删除“选择选项”要求,而是自动选择可用的单个选项。

有没有办法做到这一点?WooCommerce似乎需要一个选项,允许您在只有一个可能的属性可用于组合时自动选择变体属性。

3 个回复
SO网友:Aparna_29

以下代码解决了此问题:

add_filter(\'woocommerce_dropdown_variation_attribute_options_args\',\'fun_select_default_option\',10,1);
function fun_select_default_option( $args)
{

    if(count($args[\'options\']) > 0) //Check the count of available options in dropdown
        $args[\'selected\'] = $args[\'options\'][0];
    return $args;
}

SO网友:SHEESHRAM

请参阅Original 答复

因此有两种不同的情况:

1) 完全删除此html选项**:

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 活动子主题(或活动主题)的文件。已测试并正常工作。

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;
}

SO网友:Shafaq

the function above screenshot

上面的函数应该如屏幕截图中所示选择绿色,但它是由首先出现的变体id选择的,有人能告诉我如何在默认情况下选择fist display variation吗?

结束

相关推荐

第一个ID不会被排除在带有$arg from Tax_Query的wp_dropdown_ages中

我很难在wp\\U下拉页面中排除特定帖子。排除似乎有效,但我的foreach的第一个ID始终包含在下拉列表中。。。我不明白为什么。。。My get\\u posts查询$exclude_posts = get_posts(array( \'post_type\' => \'organic-pickup\', \'tax_query\' => array( array( \'taxonomy\