Maison >développement back-end >tutoriel php >Comment récupérer efficacement les articles de commande et les données de produits dans WooCommerce 3 ?

Comment récupérer efficacement les articles de commande et les données de produits dans WooCommerce 3 ?

DDD
DDDoriginal
2024-12-28 00:14:09930parcourir

How to Efficiently Retrieve Order Items and Product Data in WooCommerce 3?

Récupération des éléments de commande et des objets de produit dans WooCommerce 3

Dans WooCommerce 3, l'accès aux propriétés des éléments de commande a subi des changements importants. L'accès direct aux ID d'article comme $order_item->get_id() n'est plus possible, ce qui entraîne des erreurs.

Obtention des ID de produit et de variante, de l'ID de commande et de l'objet WC_Product

Pour récupérer divers attributs d'un article de commande, vous devez utiliser ce qui suit méthodes :

  • ID de produit : $item->get_product_id()
  • ID de variation : $item->get_variation_id( )
  • Numéro de commande : $item->get_order_id()
  • Objet WC_Product : $item->get_product()

Récupération des articles de commande et de l'objet WC_Product à partir de Commander

Pour obtenir les articles de la commande et leur WC_Product associé objets :

  1. Récupérez l'objet WC_Order à l'aide de wc_get_order($order_id).
  2. Parcourez la boucle $order->get_items(), dans laquelle chaque Order Item est de type WC_Order_Item_Product.
  3. Utilisez les méthodes susmentionnées pour récupérer les attributs souhaités.

Accès et déprotection des données et métadonnées

Les méthodes WC_Data permettent d'accéder et de déprotéger les données et méta données associées à la commande item :

  • Données non protégées utilisant WC_Data : $item->get_data(), $item->get_meta_data()
  • Accès au tableau pour les tableaux existants : $item['product_id'], $item['variation_id']

Méthodes d'aide supplémentaires

  • Obtention du SKU du produit : $product-> get_sku()
  • Obtention des totaux des éléments de campagne (sans remise) : $item->get_subtotal(), $item->get_subtotal_tax()
  • Obtention des totaux des éléments de campagne (avec remise) : $item-> ;get_total(), $item->get_total_tax()
  • Obtention de métadonnées formatées : $item->get_formatted_meta_data()

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn