# Passer des shortcodes aux blocs de panier et de commande sur WooCommerce

> Depuis WooCommerce 8.3, sorti le 14 novembre 2023, les pages Panier et Commande utilisent par défaut des blocs Gutenberg sur les nouvelles installations, à la place des shortcodes historiques [woocommerce_cart] et [woocommerce_checkout]. Les shortcodes restent pris en charge en solution de repli : rien n’oblige à migrer dans l’urgence.

- Source canonique : [https://allaux.fr/wordpress-woocommerce/migration/blocs-panier-commande](https://allaux.fr/wordpress-woocommerce/migration/blocs-panier-commande)
- Langue : FR
- Dernière mise à jour : 2026-08-03

## Réponse directe

> Ne touchez pas aux pages en production : dupliquez Panier et Commande, placez le bloc Panier et le bloc Validation de commande dans ces copies, puis passez une commande de bout en bout avec vos vrais moyens de paiement et vos frais de port. Une fois les copies validées, désignez-les dans WooCommerce, Réglages, Avancé. Les shortcodes [woocommerce_cart] et [woocommerce_checkout] restent pris en charge en repli.

## Ce que les blocs changent par rapport aux shortcodes

Les shortcodes [woocommerce_cart] et [woocommerce_checkout] génèrent le tunnel d’achat en PHP côté serveur, avec un rendu HTML classique. Les blocs de panier et de commande fonctionnent différemment : l’interface s’appuie sur React côté navigateur, qui communique avec le site via l’API du Store WooCommerce plutôt que par rechargement complet de page à chaque étape. Le résultat visuel pour l’acheteur reste un tunnel de commande classique, mais le mécanisme technique sous-jacent change entièrement.

Il est possible de revenir au shortcode à tout moment via le bouton de transformation disponible dans la barre d’outils du bloc, ce qui laisse une marge de manœuvre si une extension bloque la migration.

## Pourquoi une personnalisation du tunnel de commande peut ne plus s’appliquer

- Un hook ou un filtre PHP classique qui modifiait l’affichage du panier ou de la commande shortcode (par exemple pour ajouter un champ, un message, ou réorganiser des sections) ne s’applique pas automatiquement aux blocs : l’architecture React n’exécute pas ce code PHP au moment du rendu, une réécriture est souvent nécessaire via les points d’extension propres aux blocs (filtres JavaScript, API du Store).
- Une extension de paiement ou de livraison qui ne déclare pas explicitement sa compatibilité avec les blocs peut ne pas apparaître comme moyen de paiement disponible côté panier ou commande en blocs, même si elle fonctionne normalement avec les shortcodes.
- Un thème qui surchargeait fortement le CSS ou les templates PHP du tunnel de commande shortcode (fichiers dans woocommerce/checkout/) voit ces personnalisations sans effet sur les blocs, qui utilisent leurs propres gabarits.

## Comment je conduis la bascule vers les blocs

1. **Identifier le mode actuel du site** — Je vérifie si les pages Panier et Commande utilisent encore les shortcodes historiques ou déjà les blocs, notamment sur un site créé avant novembre 2023 qui n’a pas basculé automatiquement.
2. **Tester les extensions concernées avant bascule** — Je vérifie sur un environnement de test que chaque extension de paiement et de livraison active fonctionne avec les blocs et déclare sa compatibilité, avant toute bascule en production.
3. **Recenser les personnalisations existantes** — Je liste les hooks PHP et surcharges de template qui modifient le tunnel de commande shortcode, pour identifier lesquels doivent être réécrits pour les blocs.
4. **Bascule et réécriture ciblée** — J’active les blocs et je réécris uniquement les personnalisations qui ne s’appliquent plus, via les points d’extension propres aux blocs plutôt qu’en reproduisant l’ancien mécanisme.
5. **Solution de repli si blocage** — Si une extension critique n’est pas compatible, je reconvertis le bloc concerné en shortcode via la barre d’outils, ce qui permet de repousser la migration de cette page sans bloquer le reste du site.

## Aucun point de non-retour strict sur cette bascule

> Contrairement à un changement d’URL ou de plateforme, revenir au shortcode reste possible à tout moment depuis la barre d’outils du bloc : c’est ce qui rend cette migration plus sûre à tester en production progressivement.

## Pour aller plus loin

- **Migrer WooCommerce vers le stockage haute performance des commandes** — Un changement de la même période de WooCommerce, avec sa propre logique de compatibilité côté extensions. ([/wordpress-woocommerce/migration/stockage-haute-performance-commandes](/wordpress-woocommerce/migration/stockage-haute-performance-commandes))
- **Résoudre un problème de paiement WooCommerce** — Si une extension de paiement ne s’affiche plus après la bascule vers les blocs, c’est souvent ici que je commence le diagnostic. ([/wordpress-woocommerce/probleme-paiement](/wordpress-woocommerce/probleme-paiement))
- **Mettre à jour WooCommerce vers une version majeure** — Les blocs panier et commande font partie des changements à vérifier avant une montée de version majeure. ([/wordpress-woocommerce/mise-a-jour/version-majeure-woocommerce](/wordpress-woocommerce/mise-a-jour/version-majeure-woocommerce))
- **Hub migration WordPress et WooCommerce** — Toutes les migrations et montées de version que je traite sur WordPress et WooCommerce. ([/wordpress-woocommerce/migration](/wordpress-woocommerce/migration))

## FAQ

### Dois-je basculer vers les blocs si mon site utilise encore les shortcodes ?

Non dans l’urgence : les shortcodes restent pris en charge comme solution de repli. Je recommande de migrer quand les extensions de paiement et de livraison utilisées sont confirmées compatibles.

### Mes hooks PHP personnalisés vont-ils simplement s’arrêter de fonctionner ?

Ils ne provoquent pas d’erreur, mais ils cessent de s’appliquer visuellement puisque les blocs ne passent plus par le rendu PHP shortcode qu’ils modifiaient. Une réécriture ciblée est nécessaire pour retrouver le même comportement.

### Comment savoir si mon extension de paiement est compatible avec les blocs ?

Je teste le moyen de paiement sur la page Commande en mode bloc, sur un environnement de test : s’il n’apparaît pas dans la liste des moyens disponibles, l’extension n’est probablement pas encore compatible.

### Puis-je revenir en arrière si la migration pose un problème ?

Oui, chaque bloc panier ou commande propose un bouton de transformation vers sa version shortcode directement dans sa barre d’outils, sans manipulation technique lourde.

### Les blocs changent-ils l’expérience visible par l’acheteur ?

Le déroulé reste un tunnel de commande classique pour l’acheteur. Ce qui change se situe côté technique : le rendu s’appuie sur React et l’API du Store WooCommerce plutôt que sur un rendu PHP classique.
