[英]Get product variation's SKU
我需要根據客戶購買的產品的 SKU 通過電子郵件向他們發送不同的信息。 問題是我的產品有變體,每個變體都有自己的 SKU。
我知道如何遍歷客戶的訂單項目並獲取產品 SKU...
// Loop through order items
foreach ( $order->get_items() as $item_id => $item ) {
// Get product ID
$product_id = $item->get_product_id();
// Get an instance of Product object
$item->get_product();
// Get SKU
$sku = $product->get_sku();
echo $sku;
}
但此代碼顯示的是“原始”產品的 SKU,而不是變體:(
這應該得到你需要的:
foreach ( $order->get_items() as $item_id => $item ) {
// Get product ID
$product_id = $item->get_product_id();
$args = array(
'post_type' => 'product_variation',
'post_status' => array( 'private', 'publish' ),
'numberposts' => -1,
'orderby' => 'menu_order',
'order' => 'asc',
'post_parent' => $product_id
);
$variations = get_posts( $args );
foreach ( $variations as $variation ) {
// get variation ID
$variation_ID = $variation->ID;
// get variations meta
$product_variation = new WC_Product_Variation( $variation_ID );
// get variation featured image
$variation_sku = $product_variation->get_sku();
}
}
好吧,這完全是因為我的注意力不集中......代碼運行良好,但測試產品的變體沒有單獨的 SKU,這就是為什么總是得到父母的 SKU。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.