我有一个WooCommerce
网上商店,正在出售T恤衫。当一个人看着购物车时,我想让他们选择在T恤上换大码。目前,我制作的下拉菜单如下所示:
<?php
if ( $item->is_type( 'variation' ) ){
?>
<select name="" class="product-size">
<?php
foreach ( $item->get_available_variations() as $variation ):
?>
<option value="">test</option>
<?php
endforeach;
?>
</select>
<?php
}
? >
然而,这给了我以下错误:
Fatal error: Uncaught Error: Call to undefined method WC_Product_Variation::get_available_variations()
然后它袭击了我;我的$item
变量已经是一个变体。有没有办法获得同一产品的其他变体?
由于
答案 0 :(得分:1)
如果检查对象的类型,则为WC_Order_Item_Product类。你可以用这个
$variationId = $item->get_variation_id();
$variableProduct = new WC_Product_Variable($variationId)
$allVariations = $variableProduct->get_available_variations();
====================================
哦,我明白了。你可以试试这个。
$parentData = $item->get_parent_id();
$variableProduct = new WC_Product_Variable($parentData)
$allVariations = $variableProduct->get_available_variations();