Получить артикул вариации продукта - PullRequest
0 голосов
/ 07 ноября 2019

Мне нужно отправлять по электронной почте различную информацию моим клиентам в зависимости от 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 "оригинального" продукта, а не его вариацию: (

1 Ответ

0 голосов
/ 07 ноября 2019

Это должно получить то, что вам нужно:

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

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...