Le WordPress d'aujourd'hui, décodé pour les développeurs

E-commerce

WooCommerce 10 et le retrait des templates legacy pour les thèmes enfants

« Ce template est déprécié et sera retiré dans une prochaine version majeure » : WooCommerce 10 tient sa promesse et retire plusieurs templates legacy que des thèmes enfants continuaient de surcharger.

Par Clément Hadrot • 21 mai 2025 • 4 min de lecture • Aucun commentaire
WooCommerce 10 et le retrait des templates legacy pour les thèmes enfants

« This template is deprecated and will be removed in a future version of WooCommerce » : ce message, présent dans les commentaires du code source de plusieurs templates depuis des années, cessait jusqu’ici d’être une simple mise en garde. Avec la sortie de WooCommerce 10, certains de ces templates historiques sont effectivement retirés du dossier templates/ du cœur, et les thèmes enfants qui les surchargeaient encore se retrouvent avec un fichier qui ne sert plus à rien.

Le point le plus piégeux de ce retrait : aucune erreur fatale ne se déclenche. Un template surchargé dans un thème enfant, dont l’équivalent n’existe plus dans le cœur, continue simplement d’être chargé par WordPress s’il est appelé directement — mais dès que WooCommerce ne l’appelle plus lui-même via wc_get_template(), la personnalisation devient invisible, sans aucun message d’erreur pour l’expliquer.

Ce que fait concrètement wc_get_template face à un template retiré

La fonction wc_get_template() cherche d’abord un fichier dans le thème actif (woocommerce/ à la racine du thème), avant de retomber sur le fichier du cœur. Si le cœur ne référence plus jamais ce chemin de template dans son code — parce que la logique correspondante a été réécrite ou déplacée vers un rendu basé sur les blocs — le fichier surchargé dans le thème enfant devient un fichier mort : présent sur le serveur, jamais appelé, jamais rendu.

Identifier les templates concernés dans un thème existant

Avant toute montée vers WooCommerce 10, comparez le contenu du dossier woocommerce/ du thème enfant avec le journal de version (changelog) officiel de la mise à jour, qui liste explicitement les chemins de templates retirés. La méthode la plus fiable reste la comparaison directe des noms de fichiers :

diff -rq wp-content/themes/mon-theme-enfant/woocommerce/ \
         wp-content/plugins/woocommerce/templates/
L'essentiel à retenir : Les templates retirés étaient dépréciés depuis plusieurs versions déjà annoncées ; Chaque template a un équivalent basé sur les blocs ou une nouvelle structure ; Un thème enfant qui surcharge un template retiré ne plante pas, il devient silencieusement inopérant

Tout fichier présent côté thème enfant mais absent côté cœur mérite une vérification manuelle : soit il correspond à un template toujours actif mais simplement non modifié récemment par le cœur, soit il s’agit précisément d’un template retiré.

Trouver l’équivalent actuel avant de supprimer quoi que ce soit

Ne supprimez jamais un template surchargé sans avoir identifié son remplaçant. Sur les portions concernées par la modernisation vers les blocs (affichage du panier, de la commande récapitulative, de certains éléments de fiche produit), l’équivalent n’est souvent plus un fichier PHP à copier dans le thème, mais un bloc à personnaliser via l’éditeur de site ou un filtre sur le rendu du bloc correspondant.

  • Repérez si la fonctionnalité personnalisée existe désormais sous forme de bloc natif (panier, checkout).
  • Si un template PHP équivalent existe toujours mais a changé de nom ou de structure, recopiez la personnalisation dans le nouveau fichier plutôt que de garder l’ancien.
  • Si aucune fonctionnalité équivalente n’existe côté blocs, un hook ou un filtre PHP remplace généralement l’ancien template — vérifiez le journal de version pour le nom exact.

Tester la disparition silencieuse avant la mise en production

Sur un environnement de recette avec WooCommerce 10 installé, comparez visuellement chaque page personnalisée du tunnel d’achat avec la version en production actuelle. Une personnalisation qui a disparu sans message d’erreur associé est le signe le plus clair d’un template retiré dont l’équivalent n’a pas encore été migré.

Sur nos projets, chaque montée de version majeure de WooCommerce s’accompagne d’une capture d’écran comparative de chaque étape du tunnel d’achat, avant et après, pour repérer ce genre de régression silencieuse qu’aucun message d’erreur ne signale.

Documenter les templates surchargés pour éviter de revivre ce cycle

La cause profonde de cet incident récurrent, version après version, est l’absence de documentation sur les templates surchargés dans un thème enfant. Un simple fichier TEMPLATES.md à la racine du thème, listant chaque template surchargé avec la version WooCommerce au moment de la surcharge, permet à quiconque de comparer rapidement contre le journal de version suivant.

En résumé

Le retrait de templates legacy avec WooCommerce 10 ne casse rien de façon visible : il rend silencieusement inopérantes des personnalisations qui semblaient encore fonctionner. Une comparaison systématique du dossier de templates du thème enfant contre le journal de version, avant chaque montée majeure, reste la seule protection fiable contre ce type de régression invisible.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi