2017-10-04 13 views
1

Je crée un modèle d'e-mail html sur woocomerce 3+ mais je ne peux pas obtenir l'élément de campagne par ID de commande. J'ai essayé mais je n'ai pas travaillé pour moi.Obtenir l'élément de campagne woocommerce order

<?php 
     $order = wc_get_order($order_id); 
     $order_items = $order->get_items(); 
      foreach ($order_items as $item_id => $item_data) { 
      $product_name = $item_data['name']; 
      $item_quantity = $order->wc_get_order_item_meta($item_id, '_qty', true); 
      $item_total = $order->wc_get_order_item_meta($item_id, '_line_total', true); 

      echo 'Product name: '.$product_name.' | Quantity: '.$item_quantity.' | Item total: '. $item_total; 
     } 
?> 

Toute aide très appréciée.

Merci.

+0

Dans la plupart de tous les messages WooCommerce templates l'objet '$ order' existe, ** mais pas le numéro de commande **, vous devriez donc essayer de remplacer' $ order = wc_get_order ($ order_id); 'par' global $ order; '... Cela devrait marcher. Maintenant, votre question n'est pas vraiment détaillée sur ce que vous avez fait et où ... – LoicTheAztec

Répondre

0

Essayez avec le code ci-dessous

add_action('init','orderLineItem'); 
function orderLineItem() 
{ 
    $orderId = 523; //put your dynamic order id or static id 
    $order = wc_get_order($orderId); 
    foreach ($order->get_items() as $item_key => $item_values) { 
     $item_data = $item_values->get_data(); 
     echo $product_name = $item_data['name']; 
     echo $quantity = $item_data['quantity']; 
     echo $line_total = $item_data['total']; 
    } 
}