2017-05-31 12 views
1

私はWooCommerceをBundled Productsプラグインと併用して、商品を設定するオプションを選択できるページを表示します。各オプションはバリエーションのある製品です。 4つすべての製品のバリエーションを得るには、以下のコードを使用します。私はWC 3(oops)にアップグレードするまで正常に動作していました。今私はskuが空であるというエラーを得る。製品からSKUを取得する方法を変更する必要がありますか?Woocommerce - バンドル商品からバリエーションSKUを取得

do_action('woocommerce_before_bundled_items', $product); 

foreach ($bundled_items as $bundled_item) { 

    /** 
    * 'woocommerce_bundled_item_details' hook 
    * 
    * @hooked wc_pb_template_bundled_item_details_wrapper_open - 0 
    * @hooked wc_pb_template_bundled_item_thumbnail    - 5 
    * @hooked wc_pb_template_bundled_item_details_open   - 10 
    * @hooked wc_pb_template_bundled_item_title     - 15 
    * @hooked wc_pb_template_bundled_item_description   - 20 
    * @hooked wc_pb_template_bundled_item_product_details  - 25 
    * @hooked wc_pb_template_bundled_item_details_close   - 30 
    * @hooked wc_pb_template_bundled_item_details_wrapper_close - 100 
    */ 
    do_action('woocommerce_bundled_item_details', $bundled_item, $product); 
$variations = $bundled_item->get_product_variations(); 
foreach($variations as $variation) { 
    if($variation['sku'] == 'colors') { 
     $bi['colors'] = $bundled_item; 
     continue 2; 
    } 
    if($variation['sku'] == 'material') { 
     $bi['material'] = $bundled_item; 
     continue 2; 
    } 
    if($variation['sku'] == 'corners') { 
     $bi['corners'] = $bundled_item; 
     continue 2; 
    } 
    if($variation['sku'] == 'text') { 
     $bi['text'] = $bundled_item; 
     continue 2; 
    } 
} 
    do_action('woocommerce_after_bundled_items', $product); 

} 

答えて

0

このコードは、各バンドルアイテムのか、何のバリエーションを持っていない、バンドル内のアイテムのバリエーションのSKUを見つけるために、3.0に私の作品:

//Check for Variation ID first & use Variation, if it exists 
$product_variation_id = $bundled_item->get_variation_id();   
// Check if product has variation. 
if ($product_variation_id){ 
    $product = new WC_Product_Variation($product_variation_id);    
}else{ 
    $product = $bundled_item->get_product();     
} 
$sku = $product->get_sku(); 
関連する問題