1. Accueil
  2. Base de connaissances
  3. WooCommerce Wholesale Order Form
  4. Comment dépanner le shortcode du formulaire de commande en gros

Comment dépanner le shortcode du formulaire de commande en gros

Vous obtenez une erreur PHP critique après avoir ajouté le shortcode WooCommerce Wholesale Order Form à une page, mais la page se charge correctement une fois que vous le supprimez ? La cause est presque toujours une syntaxe de shortcode incorrecte, une limite de mémoire PHP faible ou un conflit avec un autre plugin. Cet article couvre les scénarios les plus courants et vous guide pour isoler la cause exacte.

Avant de commencer : vérifiez la syntaxe de votre shortcode

Dans la version 3 de WooCommerce Wholesale Order Form, le format de shortcode correct est :

[wwof_product_listing id="XX"]

XX est l'ID numérique de votre formulaire de commande. Un shortcode placé sans l'attribut id, ou utilisant un ID incorrect, produira un message d'erreur ou n'affichera rien du tout.

Pour trouver le shortcode correct pour votre formulaire :

  1. Allez dans Wholesale Suite → Order Forms dans votre administration WordPress.
  2. Ouvrez le formulaire que vous souhaitez intégrer.
  3. Copiez le shortcode affiché dans l'éditeur de formulaire.
  4. Collez-le sur la page où vous souhaitez que le formulaire apparaisse.
Liste des formulaires de commande dans l'administration WP montrant le formulaire de liste de commandes de gros, son shortcode, son emplacement et son statut Publié
Éditeur de formulaire de commande montrant les paramètres du formulaire et le champ de shortcode wwof_product_listing

Si vous utilisiez [wwof_order_form] sans attribut id, ce format de shortcode n'est plus utilisé. Remplacez-le par le shortcode copié depuis l'éditeur de formulaire.

Problèmes courants et solutions

La page affiche « Aucun ID de formulaire de commande spécifié » ou « Il y a une erreur de configuration »

Les administrateurs qui voient « Aucun ID de formulaire de commande spécifié. » utilisent le shortcode sans l'attribut id requis. Remplacez le shortcode par celui copié depuis Wholesale Suite → Order Forms.

Les visiteurs non-administrateurs voient « Il y a une erreur de configuration sur ce formulaire. Veuillez contacter l'administrateur du site. » à la place. C'est le même problème sous-jacent. Corrigez le shortcode et le message disparaîtra pour les deux.

Vue front-end du message d'erreur de configuration WWOF : "Il y a une erreur de configuration sur ce formulaire. Veuillez contacter l'administrateur du site."

Le formulaire de commande ne s'affiche pas du tout

Le formulaire de commande ne s'affiche que lorsque son statut est Publié. Un formulaire enregistré comme brouillon n'apparaîtra pas sur le front-end même si le shortcode est correctement placé. Les visiteurs déconnectés et les clients verront plutôt un message de restriction « Accès Refusé » (« Vous n'avez pas la permission de voir ce formulaire de commande. »), donc un formulaire brouillon ressemble souvent à un problème de permission plutôt qu'à un formulaire manquant.

  1. Allez dans Wholesale Suite → Order Forms.
  2. Vérifiez le statut du formulaire. S'il indique Brouillon, ouvrez-le et cliquez sur Publier.
Liste des formulaires de commande Wholesale Suite montrant un formulaire avec le statut Brouillon à côté d'un formulaire Publié

Une erreur PHP critique apparaît lorsque le shortcode est sur la page

Les erreurs critiques qui n'apparaissent que lorsque le shortcode est présent sont causées par un conflit de plugin, un plugin de mise en cache ou d'optimisation qui gère mal le bundle JavaScript du formulaire de commande, ou une limite de mémoire PHP trop basse. Suivez les étapes ci-dessous dans l'ordre.

Étape 1 : activer WP_DEBUG pour voir l'erreur réelle

  1. Ouvrez le fichier wp-config.php de votre site (situé dans le répertoire racine de WordPress).
  2. Trouvez la ligne define( 'WP_DEBUG', false ); et remplacez false par true.
  3. Juste en dessous de cette ligne, ajoutez : define( 'WP_DEBUG_LOG', true );
  4. Enregistrez le fichier et rechargez la page qui déclenche l'erreur.
  5. Ouvrez wp-content/debug.log.
  6. Notez le message d'erreur exact et le chemin du fichier auquel il fait référence.

Note : Conservez ce message d'erreur et ce chemin de fichier à portée de main. Vous en aurez besoin si vous contactez le support.

Voir Débogage dans WordPress pour plus de détails sur les constantes disponibles.

Étape 2 : vérifier la limite de mémoire PHP

Le formulaire de commande charge une application JavaScript qui effectue plusieurs requêtes en arrière-plan vers votre serveur. Si PHP manque de mémoire pendant ce processus, une erreur fatale peut survenir. Le minimum recommandé pour les sites WooCommerce, y compris ceux exécutant le formulaire de commande de gros, est de 256 Mo.

Pour vérifier votre limite actuelle, allez dans WooCommerce → Statut → Statut du système et recherchez la ligne Limite de mémoire PHP. Si elle est inférieure à 256 Mo, contactez votre fournisseur d'hébergement pour l'augmenter, ou ajoutez la ligne suivante à wp-config.php :

define( 'WP_MEMORY_LIMIT', '256M' );
Page d'état du système WooCommerce affichant les lignes de limite de mémoire WordPress et PHP

Étape 3 : passer à un thème par défaut

Un thème qui ajoute du JavaScript conflictuel ou surcharge les modèles WooCommerce peut casser le formulaire de commande. Passer à un thème par défaut permet d'éliminer rapidement ce problème.

  1. Allez dans Apparence → Thèmes dans l'administration WordPress.
  2. Activez Storefront ou Twenty Twenty-Four.
  3. Rechargez la page avec le shortcode.

Si l'erreur disparaît avec le thème par défaut actif, votre thème d'origine est la source du conflit. Réactivez-le et partagez le journal de débogage avec l'équipe de support de votre thème.

Étape 4 : isoler le plugin conflictuel

  1. Allez dans Extensions → Extensions installées.
  2. Désactivez toutes les extensions sauf WooCommerce et WooCommerce Wholesale Order Form.
  3. Rechargez la page avec le shortcode. Si l'erreur a disparu, un conflit de plugin en est la cause.
  4. Réactivez les extensions une par une, en rechargeant la page après chacune. La dernière extension que vous avez activée lorsque l'erreur réapparaît est celle qui pose conflit.
Liste des plugins installés WordPress affichant les plugins actifs, y compris WooCommerce et WooCommerce Wholesale Order Form

Conflits de plugins connus et solutions de contournement

Plusieurs plugins d'optimisation et de mise en cache nécessitent une manipulation spéciale pour fonctionner avec le formulaire de commande. Le plugin inclut une compatibilité intégrée pour certains d'entre eux, ce qui signifie qu'aucune étape manuelle n'est nécessaire pour ceux-ci.

WP Rocket. Le formulaire de commande de gros exclut automatiquement les pages contenant son shortcode de la mise en cache de page de WP Rocket. Aucune règle d'exclusion manuelle n'est nécessaire.

SiteGround Optimizer. Le plugin exclut automatiquement ses scripts de la combinaison et de la minification JavaScript et CSS de SiteGround Optimizer. Si vous rencontrez toujours des problèmes après avoir confirmé qu'il s'agit du conflit, désactivez manuellement Combiner les fichiers JavaScript et Minifier les fichiers JavaScript (et les options équivalentes de combinaison et de minification CSS) pour la page contenant le formulaire de commande.

Autres plugins de mise en cache (WP Super Cache, W3 Total Cache, LiteSpeed Cache, etc.). Ajoutez l'URL de la page du formulaire de commande à la liste d'exclusion de cache du plugin et désactivez la minification et la combinaison JavaScript pour cette page.

Constructeurs de pages (Elementor, Divi, WPBakery). Si le shortcode est placé à l'intérieur d'un élément de shortcode d'un constructeur de pages et que le formulaire ne se charge pas, essayez de le placer directement dans l'éditeur de blocs WordPress. Pour Breakdance, la prise en charge native des shortcodes est disponible à partir de la version 3.1.0 de WooCommerce Wholesale Order Form.

Ce qu'il faut inclure lors de la prise de contact avec le support

Si l'erreur persiste après avoir suivi les étapes ci-dessus, l'équipe de support de Wholesale Suite aura besoin des détails suivants pour enquêter :

  • Le message d'erreur exact de wp-content/debug.log
  • Une liste de vos plugins actifs au moment de l'erreur
  • Votre version de PHP et la limite de mémoire actuelle (visibles dans WooCommerce → Statut → Statut du système)
  • Le nom et la version du thème actif
  • Toutes les modifications apportées au site peu de temps avant l'apparition de l'erreur

Questions fréquemment posées

Quel est le shortcode correct pour le formulaire de commande de gros ?

Le shortcode correct dans la version 3 est [wwof_product_listing id="XX"], où XX est l'ID du formulaire de commande. Copiez-le directement depuis l'éditeur de formulaire dans Wholesale Suite → Order Forms.

Pourquoi le formulaire de commande affiche-t-il "Il y a une erreur de configuration sur ce formulaire" ?

Ce message apparaît lorsque l'attribut id est manquant dans le shortcode, ou lorsque l'ID du formulaire de commande spécifié n'existe pas. Vérifiez que votre shortcode inclut le bon id copié depuis l'éditeur de formulaire.

Pourquoi mon formulaire de commande n'apparaît-il pas même si le shortcode est correct ?

La cause la plus fréquente est que le formulaire est toujours enregistré comme Brouillon. Un formulaire de commande ne s'affiche sur le front-end qu'une fois son statut Publié. Ouvrez le formulaire dans Wholesale Suite → Order Forms et cliquez sur Publier. Les visiteurs déconnectés peuvent également voir un message "Accès refusé" si le formulaire est restreint à des rôles spécifiques.

Dois-je configurer mon plugin de mise en cache pour qu'il fonctionne avec le formulaire de commande ?

Pour WP Rocket et SiteGround Optimizer, aucune configuration manuelle n'est nécessaire. Le plugin gère automatiquement la compatibilité. Pour les autres plugins de mise en cache, ajoutez la page du formulaire de commande à la liste d'exclusion de cache et désactivez la minification JavaScript pour cette page.

Besoin d'aide ?

Si vous avez une question ou rencontrez des problèmes, nous sommes là pour vous aider.

Cet article vous a-t-il été utile ?

Articles liés

Finalisez votre achat