如果Wooccommerce默认变体缺货,可以设置另一个变体吗



如果Wooccommerce默认变体缺货,另一个库存变体是否可以作为默认变体?我总是在我的网站上默认第一个变体。如果第一个变体缺货并且客户已经进入产品页面,则所选变体出现短语";缺货";这会引起混乱。

你能帮忙吗?

我通过修改模板来解决这个问题"woocommerce/single-product/add-to-cart/variable.php";在我的主题中。我的代码假设每个产品的属性不超过一个。

第一次修改是在25行,这里添加了新代码:

$selected=null;
foreach($available_variations as $prod_var){
if($prod_var['is_in_stock'] || $prod_var['max_qty']>0) {
$selected=current($prod_var['attributes']); // get the atttribute value
// from first available attribute
break;
}
}

现在,在foreach循环内的第59行中,我修改了函数调用,并添加了可选参数"selected":

wc_dropdown_variation_attribute_options(
array(
'options'   => $options,
'attribute' => $attribute_name,
'product'   => $product,
'selected'=>($selected !== null) ? $selected : false,
)
);

在PHP 8.1和Wooccommerce 7.1.1 上测试

相关内容

  • 没有找到相关文章

最新更新