WooCommerce propose par défaut un Widget pour afficher des produits, et les trier par « meilleures ventes ».
Cependant vous l’avez peut-être remarqué : cette liste ne correspond pas à celle retrouvée dans WooCommerce > Rapports.
En effet le code utilisé par le Widget trie les produits avec la meta key total_sales qui n’est pas actualisée lors d’annulation de commandes, etc. (Voir l’issue sur Github).
Voici une petite classe qui se charge d’afficher les produits les mieux vendus (réellement), grâce à elle vous aurez les mêmes résultats en front-office que dans la section « Rapports ».
Elle se base tout simplement sur le cœur de WooCommerce en étendant la classe WC_Admin_Report :
La fonction get_best_sellers ne vous retournera que les identifiants des produits, à vous de faire la suite 😉
Vous trouverez un exemple d’utilisation à la ligne 173.
N’hésitez pas à me donner votre avis, remarques ou autre pull request 🙂
[pastacode lang= »php » user= »MarieComet » repos= »WooCommerce-Reports-Class » path_id= »/class-mc-wc-reports.php » revision= » » highlight= »37,173″ lines= » » provider= »github »/]
Crédit photo : jackmac34 / Pixabay
2 réponses à “Afficher les produits WooCommerce les mieux vendus”
Bonjour,
Sympa ce code, merci ! Mais on le place où ? dans functions.php ?
Bonjour,
oui par exemple, ou dans une extension.
L’exemple à la ligne 173 est à placer à l’endroit (fichier) où vous souhaitez utiliser les identifiants de produits retournés.