25

在此处输入图像描述

我已经使用wc-variations-radio-buttons-master 将下拉菜单更改为单选按钮不同的颜色实际上也是单选按钮。

当前的链接产品有12这样的变化,有产品而不是其他。我可以解释一些组合,例如Silver,Matching upholstery,VC,RegularSeatSilver,Matching upholstery,ACC,RegularSeat产品而Silver,Matching upholstery,Regular,RegularSeat现在没有产品我想Regular从当前场景中隐藏选项and all other such option which have not product

我的意思是显示那些有产品的单选按钮,如果没有,然后隐藏不相关的单选按钮

产品链接

4

3 回答 3

6

如果我正确理解您的问题,您希望 woocommerce 阻止用户选择可变产品的某些选项组合,除非实际存在所选选项的变体并且有货?

这可能是由于woocommerce_ajax_variation_threshold。如果您的产品包含比阈值指定的更多变体,woocommerce 将等到用户选择了所有变体选项,然后再确定所选选项组合是否有效(有库存、存在等)。如果用户选择了无效或没有库存的组合,您将获得

抱歉,没有符合您选择的产品。请选择不同的组合

假设您有一个产品,您可以在其中设置以下属性:

内饰, 底座, 扶手头枕, 背部

那是5个不同的属性。如果这些属性中的每一个都有5 个选项,那么假设用户必须选择所有5个选项,则有25种不同的可能组合。如果用户不必选择所有5 个选项,那么还有更多可能的组合。

因此,即使您实际上只为该产品创建了2 个变体,它的woocommerce_ajax_variation_threshold也将是25,这意味着25 个可能的选项(变体)。

我认为默认情况下woocommerce_ajax_variation_threshold设置为10

因此,要修复(过滤器)这个问题,请将woocommerce_ajax_variation_threshold设置为更高的值。如果您的产品有 30 种可能的组合(无论它们是否实际存在),请将阈值设置为高于 30 的值,例如 1111。

您可以在您的 functions.php 文件中使用下面的代码片段。

 /* Increase Woocommerce Variation Threshold */
 function wc_ajax_variation_threshold_modify( $threshold, $product ){
  $threshold = '1111';
  return  $threshold;
 }
add_filter( 'woocommerce_ajax_variation_threshold','wc_ajax_variation_threshold_modify', 10, 2 );
于 2018-02-18T22:36:02.723 回答
1

请检查变体矩阵表,以正确匹配所有变体的选择......

例如。

2x2 表示 11 12 21 22

3x3

111 122 113 221 222 223 331 332 333

于 2017-04-25T18:15:01.457 回答
0

WooCommerce 中导致这种情况的一个怪癖是您的所有变体都没有价格,系统并不总是告诉您它是必需的,因此可能会发生意外的事情。请检查您的变体数据并确保所有变体都有价格。

于 2017-08-21T15:27:33.650 回答