对不起,没有产品符合您的选择。请选择不同的组合WooCommerce

时间:2016-09-06 07:40:58

标签: wordpress woocommerce woothemes hook-woocommerce

enter image description here

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

当前link产品有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选项。

我打算显示那些有产品的单选按钮,如果没有,则隐藏不相关的单选按钮

产品link

3 个答案:

答案 0 :(得分:0)

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

例如

2x2表示 11 12 21 22

3x3

111 122 113 221 222 223 331 332 333

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

  

块引用   对不起,没有产品符合您的选择。请选择其他组合

因此,如果您有一个可以设置以下属性的产品:

室内装潢,底座,手臂头枕,背部

这是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 );