从WC_Product_Variation

时间:2017-06-08 09:48:16

标签: php wordpress woocommerce

我有一个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变量已经是一个变体。有没有办法获得同一产品的其他变体?

由于

1 个答案:

答案 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();