WooFrance Dépannage et support WordPress WooCommerce › Forums › How to WooCommerce › traitement des commandes
Étiqueté : oders, post_by_category, woocommerce, woocommerce_orders
- Ce sujet contient 2 réponses, 2 participants et a été mis à jour pour la dernière fois par kawou, le il y a 6 années et 8 mois.
-
AuteurMessages
-
26 février 2018 à 19 h 43 min #52784
bonjour chères professionnelles de wordpress humblement voici mon problème:
pour des besoins de comptabilité, je voudrais avoir la liste des commandes par catégorie de produit.
voici ma requête N°1 qui me permet de récupérer la liste des produits par catégorie
SELECT p.ID
FROM wp_posts p
JOIN wp_term_relationships wtr ON p.ID = wtr.object_id
JOIN wp_term_taxonomy wtt ON wtt.term_taxonomy_id = wtr.term_taxonomy_id
JOIN wp_terms wt ON wt.term_id = wtt.term_id
where wt.slug = ‘nom_cat’
order by p.ID DESC;voici la requête N°2 qui récupère la liste des commandes bien terminées
SELECT p.ID,p.post_date as ‘date_achat’,oi.order_item_name as ‘produit’, pm.meta_value as ‘payer_par’, oim1.meta_value as ‘quantite’, oim2.meta_value as ‘montant_total’
FROM wp_posts p
JOIN wp_postmeta pm on p.ID = pm.post_id
JOIN wp_woocommerce_order_items oi on p.ID = oi.order_id
JOIN wp_woocommerce_order_itemmeta oim1 on oi.order_item_id = oim1.order_item_id
JOIN wp_woocommerce_order_itemmeta oim2 on oi.order_item_id = oim2.order_item_id
WHERE pm.meta_key = ‘_payment_method’
and oim1.meta_key = ‘_qty’ and oim2.meta_key = ‘_line_total’
and p.post_type = ‘shop_order’
and p.post_status = ‘wc-completed’
and oi.order_item_type = ‘line_item’
and p.post_date BETWEEN ‘date_debut’ AND ‘date_fin’
ORDER BY p.post_date DESCmais je ne sais pas comment jumeler les deux requêtes pour avoir le résultat souhaité. les paramètres sont nom_cat, date_debut, date_fin.
voici ce que j’ai essayer de faire mais ça ne marche pas:
SELECT p.ID,p.post_date as ‘date_achat’,oi.order_item_name as ‘produit’, pm.meta_value as ‘payer_par’, oim1.meta_value as ‘quantite’, oim2.meta_value as ‘montant_total’
FROM wp_posts p
JOIN wp_postmeta pm on p.ID = pm.post_id
JOIN wp_woocommerce_order_items oi on p.ID = oi.order_id
JOIN wp_woocommerce_order_itemmeta oim1 on oi.order_item_id = oim1.order_item_id
JOIN wp_woocommerce_order_itemmeta oim2 on oi.order_item_id = oim2.order_item_id
WHERE pm.meta_key = ‘_payment_method’
and oim1.meta_key = ‘_qty’ and oim2.meta_key = ‘_line_total’
and p.post_type = ‘shop_order’
and p.post_status = ‘wc-completed’
and oi.order_item_type = ‘line_item’
and p.post_date BETWEEN ‘2016-01-01’ AND ‘2018-01-31’
and p.ID IN( je mets la requête N° 1)
ORDER BY p.post_date DESCmais les ID que me renvoi la sous requête sont pas compatible et du coup toute la requête ne revoit aucune ligne.
s’il vous plait aider moi. sur chacune de ces 3 requêtes pour que je puis avoir le résultat (la liste des commandes par catégorie pour une période donnée)
26 février 2018 à 21 h 14 min #52791je vous conseille d’utiliser les fonctions de WooCommerce au lieu d’un accès direct à la base de données car la structure des données peut changer dans les prochaines versions.
pour commencer vous pouvez utiliser la fonction
wc_get_orders
pour obtenir les commandes sur une période donnée :
https://github.com/woocommerce/woocommerce/wiki/wc_get_orders-and-WC_Order_Query#dateDéveloppeur PHP et WordPress En Alsace dans l'annuaire des prestataires WordPress et WooCommerce
Création d'extensions pour WordPress et WooCommerce - Personnalisation d'extensions existantes
🔶 Si vous appréciez mon aide, vous pouvez me faire un don de n'importe quel montant en cliquant ici.27 février 2018 à 18 h 54 min #52848 -
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.