1. Casa
  2. Knowledge Base
  3. WooCommerce Wholesale Order Form
  4. Come risolvere i problemi con lo shortcode del modulo d'ordine all'ingrosso

Come risolvere i problemi con lo shortcode del modulo d'ordine all'ingrosso

Si verifica un errore critico di PHP dopo aver aggiunto lo shortcode di WooCommerce Wholesale Order Form a una pagina, ma la pagina viene caricata correttamente una volta rimosso? La causa è quasi sempre una sintassi errata dello shortcode, un limite di memoria PHP basso o un conflitto con un altro plugin. Questo articolo copre gli scenari più comuni e ti guida nell'isolamento della causa esatta.

Prima di iniziare: controlla la sintassi dello shortcode

Nella versione 3 di WooCommerce Wholesale Order Form, il formato corretto dello shortcode è:

[wwof_product_listing id="XX"]

dove XX è l'ID numerico del tuo modulo d'ordine. Uno shortcode inserito senza l'attributo id, o che utilizza un ID errato, produrrà un messaggio di errore o non mostrerà nulla.

Per trovare lo shortcode corretto per il tuo modulo:

  1. Vai su Wholesale Suite → Order Forms nella tua bacheca WordPress.
  2. Apri il modulo che desideri incorporare.
  3. Copia lo shortcode mostrato nell'editor del modulo.
  4. Incollalo nella pagina in cui desideri che appaia il modulo.
Elenco dei moduli d'ordine in WP Admin che mostra il modulo di elenco ordini all'ingrosso, il suo shortcode, la posizione e lo stato di pubblicazione
Editor del modulo d'ordine che mostra le impostazioni del modulo e il campo dello shortcode wwof_product_listing

Se hai utilizzato [wwof_order_form] senza un attributo id, quel formato di shortcode non è più in uso. Sostituiscilo con lo shortcode copiato dall'editor del modulo.

Problemi comuni e soluzioni

La pagina mostra "Nessun ID modulo d'ordine specificato" o "Errore di configurazione"

Gli amministratori che vedono "Nessun ID modulo d'ordine specificato." stanno utilizzando lo shortcode senza l'attributo id richiesto. Sostituisci lo shortcode con quello copiato da Wholesale Suite → Order Forms.

I visitatori non amministratori vedono invece "Errore di configurazione in questo modulo. Si prega di contattare l'amministratore del sito.". Questo è lo stesso problema di fondo. Correggi lo shortcode e il messaggio scomparirà per entrambi.

Visualizzazione front-end del messaggio di errore di configurazione WWOF: "Si è verificato un errore di configurazione in questo modulo. Si prega di contattare l'amministratore del sito."

Il modulo d'ordine non viene visualizzato affatto

Il modulo d'ordine viene visualizzato solo quando il suo stato è Pubblicato. Un modulo salvato come bozza non apparirà nel front-end anche se lo shortcode è inserito correttamente. I visitatori disconnessi e i clienti vedranno invece un messaggio di restrizione "Accesso negato" ("Non hai il permesso di visualizzare questo modulo d'ordine"), quindi un modulo in bozza spesso appare come un problema di autorizzazione piuttosto che come un modulo mancante.

  1. Vai su Wholesale Suite → Order Forms.
  2. Controlla lo stato del modulo. Se mostra Bozza, aprilo e fai clic su Pubblica.
Elenco dei moduli d'ordine di Wholesale Suite che mostra un modulo con stato Bozza accanto a un modulo Pubblicato

Appare un errore critico di PHP quando lo shortcode è sulla pagina

Errori critici che appaiono solo quando lo shortcode è presente sono causati da un conflitto di plugin, un plugin di caching o ottimizzazione che gestisce in modo errato il bundle JavaScript del modulo d'ordine, o un limite di memoria PHP troppo basso. Procedi con i passaggi seguenti in ordine.

Passaggio 1: abilita WP_DEBUG per vedere l'errore effettivo

  1. Apri il file wp-config.php del tuo sito (situato nella directory principale di WordPress).
  2. Trova la riga define( 'WP_DEBUG', false ); e cambia false in true.
  3. Subito sotto quella riga, aggiungi: define( 'WP_DEBUG_LOG', true );
  4. Salva il file e ricarica la pagina che genera l'errore.
  5. Apri wp-content/debug.log.
  6. Annota il messaggio di errore esatto e il percorso del file a cui punta.

Nota: Tieni a portata di mano questo messaggio di errore e il percorso del file. Ti serviranno se contatterai il supporto.

Vedi Debugging in WordPress per i dettagli completi sulle costanti disponibili.

Passaggio 2: controlla il limite di memoria PHP

Il modulo d'ordine carica un'applicazione JavaScript che effettua diverse richieste in background al tuo server. Se la memoria PHP si esaurisce durante questo processo, può verificarsi un errore fatale. Il minimo raccomandato per i siti WooCommerce, inclusi quelli che eseguono il Modulo d'ordine per grossisti, è 256 MB.

Per controllare il tuo limite attuale, vai su WooCommerce → Stato → Stato del sistema e cerca la riga Limite di memoria PHP. Se è inferiore a 256 MB, contatta il tuo provider di hosting per aumentarlo, oppure aggiungi la seguente riga a wp-config.php:

define( 'WP_MEMORY_LIMIT', '256M' );
Pagina di stato del sistema WooCommerce che mostra le righe del limite di memoria di WordPress e PHP

Passaggio 3: passa a un tema predefinito

Un tema che aggiunge JavaScript in conflitto o sovrascrive i modelli di WooCommerce può interrompere il modulo d'ordine. Passare a un tema predefinito lo esclude rapidamente.

  1. Vai su Aspetto → Temi nell'amministrazione di WordPress.
  2. Attiva Storefront o Twenty Twenty-Four.
  3. Ricarica la pagina con lo shortcode.

Se l'errore scompare con il tema predefinito attivo, il tuo tema originale è la causa del conflitto. Riattivalo e condividi il log di debug con il team di supporto del tuo tema.

Passaggio 4: isola il plugin in conflitto

  1. Vai su Plugin → Plugin installati.
  2. Disattiva tutti i plugin tranne WooCommerce e WooCommerce Wholesale Order Form.
  3. Ricarica la pagina con lo shortcode. Se l'errore è scomparso, la causa è un conflitto tra plugin.
  4. Riattiva i plugin uno alla volta, ricaricando la pagina dopo ciascuno. L'ultimo plugin che hai attivato quando l'errore ricompare è quello in conflitto.
Elenco dei plugin installati di WordPress che mostra i plugin attivi, inclusi WooCommerce e WooCommerce Wholesale Order Form

Conflitti di plugin noti e soluzioni alternative

Diversi plugin di ottimizzazione e caching richiedono una gestione speciale per funzionare insieme al modulo d'ordine. Il plugin include una compatibilità integrata per alcuni di questi, il che significa che non sono necessari passaggi manuali per essi.

WP Rocket. Il Modulo d'ordine per grossisti esclude automaticamente le pagine che contengono il suo shortcode dalla cache delle pagine di WP Rocket. Non è necessaria alcuna regola di esclusione manuale.

SiteGround Optimizer. Il plugin esclude automaticamente i suoi script dalla combinazione e minificazione di JavaScript e CSS di SiteGround Optimizer. Se riscontri ancora problemi dopo aver confermato che questo è il conflitto, disabilita manualmente Combina file JavaScript e Minifica file JavaScript (e le opzioni equivalenti di combinazione e minificazione CSS) per la pagina contenente il modulo d'ordine.

Altri plugin di caching (WP Super Cache, W3 Total Cache, LiteSpeed Cache, ecc.). Aggiungi l'URL della pagina del modulo d'ordine all'elenco di esclusione della cache del plugin e disabilita la minificazione e la combinazione di JavaScript per quella pagina.

Page builder (Elementor, Divi, WPBakery). Se lo shortcode è inserito all'interno di un elemento shortcode di un page builder e il modulo non viene caricato, prova a inserirlo direttamente nell'editor a blocchi di WordPress. Per Breakdance, il supporto nativo per gli shortcode è disponibile dalla versione 3.1.0 di WooCommerce Wholesale Order Form in poi.

Cosa includere quando si contatta il supporto

Se l'errore persiste dopo aver seguito i passaggi precedenti, il team di supporto di Wholesale Suite avrà bisogno dei seguenti dettagli per indagare:

  • Il messaggio di errore esatto da wp-content/debug.log
  • Un elenco dei tuoi plugin attivi al momento dell'errore
  • La tua versione di PHP e il limite di memoria corrente (visibili in WooCommerce → Stato → Stato del sistema)
  • Il nome e la versione del tema attivo
  • Eventuali modifiche apportate al sito poco prima della comparsa dell'errore

Domande frequenti

Qual è lo shortcode corretto per il modulo d'ordine all'ingrosso?

Lo shortcode corretto nella versione 3 è [wwof_product_listing id="XX"], dove XX è l'ID del modulo d'ordine. Copialo direttamente dall'editor del modulo in Wholesale Suite → Moduli d'ordine.

Perché il modulo d'ordine mostra "Si è verificato un errore di configurazione in questo modulo"?

Questo messaggio appare quando l'attributo id manca nello shortcode, o quando l'ID del modulo d'ordine specificato non esiste. Verifica che il tuo shortcode includa l'id corretto copiato dall'editor del modulo.

Perché il mio modulo d'ordine non viene visualizzato anche se lo shortcode è corretto?

La causa più comune è che il modulo è ancora salvato come Bozza. Un modulo d'ordine viene visualizzato sul front-end solo quando il suo stato è Pubblicato. Apri il modulo in Wholesale Suite → Moduli d'ordine e fai clic su Pubblica. I visitatori disconnessi potrebbero anche visualizzare un messaggio "Accesso negato" se il modulo è limitato a ruoli specifici.

Devo configurare il mio plugin di caching per farlo funzionare con il modulo d'ordine?

Per WP Rocket e SiteGround Optimizer, non è necessaria alcuna configurazione manuale. Il plugin gestisce automaticamente la compatibilità. Per altri plugin di caching, aggiungi la pagina del modulo d'ordine all'elenco delle esclusioni della cache e disabilita la minificazione di JavaScript per quella pagina.

Serve aiuto?

Se hai una domanda o riscontri problemi, siamo qui per aiutarti.

Questo articolo è stato utile?

Articoli Correlati

Completa il tuo acquisto