Comment personnaliser les totaux de commande dans WooCommerce et ajouter des informations relatives à la TVA.
WooCommerce est une extension de commerce électronique populaire pour WordPress. Il permet aux propriétaires de sites Web de vendre facilement des produits en ligne. Cependant, les modèles d’affichage par défaut de WooCommerce ne conviennent pas toujours. Dans certains cas, il peut s’avérer nécessaire de personnaliser les totaux de commande, et c’est ce que nous allons faire dans cet article.
La fonction add_filter () est une fonctionnalité clé de WordPress qui permet aux développeurs de personnaliser les données avant qu’elles ne soient envoyées à l’utilisateur final. Dans le cas de WooCommerce, la fonction add_filter () permet aux développeurs de modifier les totaux de commande avant qu’ils ne soient affichés sur la page de paiement.
Notre objectif ?
Ici l’objectif est de rendre plus lisible le montant des taxes en ajoutant une ligne « Sous-total HT », « Montant de la TVA », et d’ajouter les mentions « TTC » sur les lignes « Sous-total », « Expédition » et « Total ». Le résultat est le suivant :
La configuration de ma boutique est la suivante (page Woocommerce > Réglages > TVA) :
- Je saisis les montants directement en TTC en cochant « Oui, je saisirai les tarifs TTC »
- Affichage des tarifs en TTC
Le code suivant utilise la fonction add_filter () et le hook woocommerce_get_order_item_totals pour personnaliser les totaux de commande dans WooCommerce :
Le code ci-dessus utilise la fonction custom_order_item_totals()
pour personnaliser les totaux de commande dans WooCommerce. La fonction prend trois paramètres : $total_rows, $order, et $tax_display :
- La variable $total_rows contient un tableau des totaux de commande pour une commande donnée.
- La variable $order contient les détails de la commande.
- La variable $tax_display contient les informations d’affichage de la taxe.
La première partie du code vérifie si l’affichage de la taxe est ‘incl’. Si tel est le cas, les étiquettes des totaux sont modifiées pour inclure la mention TTC (toutes taxes comprises). Cela se fait en utilisant la fonction str_replace () pour remplacer le caractère « : » dans les étiquettes des totaux par le texte « TTC : ».
Ensuite, le code ajoute deux nouvelles lignes de totaux personnalisées à l’aide du tableau $total_rows. La première ligne affiche le montant de la TVA pour la commande en utilisant la fonction $order->get_total_tax()
. La deuxième ligne affiche le sous-total HT (hors taxe) en utilisant la fonction $order->get_total()
pour obtenir le montant total de la commande, puis en soustrayant le montant de la taxe, le montant d’expédition et la taxe d’expédition.
Enfin, le code déplace les deux nouvelles lignes de totaux personnalisées en haut de la liste en utilisant la fonction array_pop()
pour supprimer la dernière ligne de totaux dans le tableau $total_rows, puis la fonction array_unshift()
pour ajouter la ligne à la première position.
En utilisant la fonction add_filter () pour appeler la fonction custom_order_item_totals (), les totaux de commande sont maintenant personnalisés en fonction des besoins de l’entreprise.
N’hésitez pas à commenter si cela vous a aidé, ou si vous auriez procédé d’une autre manière pour aboutir au même résultat.
Si cet article vous a aidé, si vous avez des questions ou des améliorations à proposer, n'hésitez pas à me laisser un commentaire en bas de page !