我已使用wc-variations-radio-buttons-master更改了下拉单选按钮 不同的颜色实际上也是单选按钮。
当前link产品有12
这样的变体,其中包含产品而非其他产品。我可以解释的一些组合,例如Silver,Matching upholstery,VC,RegularSeat
和Silver,Matching upholstery,ACC,RegularSeat
产品,而Silver,Matching upholstery,Regular,RegularSeat
现在没有产品,我想隐藏当前方案Regular
中的and all other such option which have not product
选项。
我打算显示那些有产品的单选按钮,如果没有,则隐藏不相关的单选按钮
产品link
答案 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 );