Tutorial WordPress affidabili, quando ne hai più bisogno.
Guida per principianti a WordPress
WPB Cup
25 Milioni+
Siti web che utilizzano i nostri plugin
16+
Anni di esperienza con WordPress
3000+
Tutorial WordPress di esperti

Come risolvere il limite di elementi del menu personalizzato in WordPress

Solo pochi giorni fa, uno dei nostri utenti ha segnalato un problema insolito. Il problema era che stava raggiungendo il limite di elementi del menu personalizzato. Qualsiasi cosa salvata dopo aver raggiunto il limite di elementi del menu non veniva salvata affatto. Non avevamo mai sentito parlare di questo problema, quindi abbiamo deciso di provarlo sulla nostra installazione locale. Abbiamo creato oltre 200 elementi di menu e li abbiamo salvati. Ha funzionato perfettamente. Abbiamo spostato 100 elementi in un menu a discesa e questo è stato salvato perfettamente. A quel punto, sapevamo che questo aveva qualcosa a che fare con il server. Dopo ulteriori ricerche, sembrava che molti altri stessero riscontrando lo stesso problema. Scavando un po' più a fondo, abbiamo trovato un ticket trac (#14134) che evidenziava questo problema. Dopo aver letto il lunghissimo ticket trac, sembra che il problema non sia ancora stato risolto, ma esiste una soluzione temporanea per coloro che riscontrano questo problema. In questo articolo, ti mostreremo come risolvere il limite di elementi del menu personalizzato in WordPress.

Per risolvere il problema, è necessario modificare il file PHP.ini. Se ti trovi su un server dedicato o su un VPS con accesso root, dovresti già sapere di cosa stiamo parlando. Se ti trovi su un hosting condiviso o non sai dove si trova il file PHP.ini, chiedi al tuo provider di hosting web di farlo per te.

Devi chiedere loro di impostare i seguenti valori nella configurazione di PHP.ini:

suhosin.post.max_vars = 5000
suhosin.request.max_vars = 5000

Un altro utente, “ronnieg”, ha pubblicato una soluzione alternativa che ha per il suo sito di immobili e menu di grandi dimensioni (oltre 450 pagine e in crescita). Puoi leggere la sua risposta per seguire. (Nota: non abbiamo provato questa soluzione)

Spiegazione del problema

This problem is not entirely WordPress based as different folks are seeing different limits (some say 16 others say 50 and as you already know we went as high as 200 without seeing any limits). In theory, WordPress is not limiting the number of menus you can have. Your web hosting server is. There are Suhosin limitations on the POST max variables which is limiting the large number of entries being saved. Nacin replied in the trac ticket to say that this is NOT a bug rather it is an enhancement. The core team has to find a way to work around the server limitations and figure out a better way to save the menu items, so regardless of your server configuration you do not see any custom menu limits. It’s easier said than done :)

WordPress è un progetto open-source (volontario) e il team principale fa tutto il possibile per migliorarlo ogni giorno. Questo verrà risolto, ma la tempistica non è ancora definita poiché dice "Future Releases".

Se hai provato qualcosa di diverso che ha risolto questo problema per te, faccelo sapere nei commenti. Ciò consentirà ad altri di risolvere il loro problema finché il team principale non troverà una soluzione.

Dichiarazione: Il nostro contenuto è supportato dai lettori. Ciò significa che se fai clic su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come è finanziato WPBeginner, perché è importante e come puoi supportarci. Ecco il nostro processo editoriale.

Il Toolkit WordPress Definitivo

Ottieni l'accesso GRATUITO al nostro toolkit - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Interazioni del lettore

80 CommentsLeave a Reply

  1. Ciao! Sto usando l'hosting condiviso. Ecco perché non ho accesso root per modificare il file phpi.ni. Come posso risolvere il problema?

  2. Ciao

    Aspetto -> Menu -> cliccando -> reindirizzamento a -> pagina 404

    Ho aggiunto alcuni menu principali e categorie al mio sito web. Dopo un po' non riuscivo più ad aprire il menu per modificare o eliminare nulla. il mio sito web viene reindirizzato alla pagina 404. Ho provato molti codici ma niente funziona. Per favore, aiutami

  3. Ho riscontrato lo stesso problema... ma sono in localhost... quindi non ho nessuno a cui chiedere aiuto! (Windows 10/XAMPP/WP4.8). Nuovo di WP, non so nemmeno dove trovare php.ini! La mia "soluzione rapida" è stata rimuovere alcune voci di sottomenu meno importanti. Ma voglio rimetterle tutte. Ho controllato il memory-bump menzionato sopra, ma è vecchio. Potrebbe non funzionare su WP4.8. Non vale il rischio!

  4. Ciao.

    Grazie per le ottime informazioni. Ho finalmente risolto il problema sull'hosting GoDaddy creando un file ph5.ini nella Webroot con le seguenti informazioni:

    memory_limit = 256M;
    max_execution_time = 300;
    max_input_vars = 3000;

    risolto il problema dopo che il servizio clienti ha resettato il database, cosa che io non potevo fare. Spero questo aiuti.

  5. Ciao, grazie per questo

    Ho avuto questo problema. Avevo un menu lungo e un giorno si è ridotto a sole 50 righe. Il supporto del tema ha inviato a questo argomento. Ho provato tutte le opzioni, ma solo una ha funzionato per me anche senza contattare il supporto dell'hosting.

    Ho aggiunto "php_value max_input_vars 5000" (senza virgolette) al mio file .htaccess prima della riga "#end of wordpress" e questo ha risolto il problema.

  6. Ciao Team,

    Sto usando Hostgator con Multidomain SSL.

    Ho controllato le impostazioni e non so dove e come fare.

    Ho aggiunto il file php.ini con il codice max_input_vars=9000; e ancora non riesco ad aggiungere voci di menu nel menu principale.

    Qualcuno mi aiuti. Molto apprezzato.

    Cordiali saluti,
    -Rams

  7. Sto avendo questo problema in questo momento, ho contattato gli host che dicono che non possono / non aumenteranno a 5000 variabili perché è un server condiviso, c'è qualche altra soluzione? è possibile avere due menu di navigazione sulla stessa pagina, questo risolverebbe il problema, o continuerebbe semplicemente.

    Grazie in anticipo, qualsiasi aiuto sarebbe molto apprezzato

  8. Fantastico. Ho lo stesso problema da molto tempo senza capirne il motivo. Ho chiesto a tante persone. Solo oggi ho risolto il mio problema. hostGator non c'è bisogno di chiamare il centro assistenza. Possiamo farlo da soli. Davvero utile, non ci sono parole per ringraziare

  9. Mahalo nui loa (grazie mille)!

    Questo ha funzionato per il sito di un cliente che si trova su Bluehost, hosting condiviso:
    1. Cpanel > File Manager
    2. public_html > wp-admin
    3. Clicca su “New File” > chiamalo php.ini (se non hai già questo file)
    4. Clicca su php.ini > clicca su “edit” > clicca di nuovo su “edit”
    5. Incolla: max_input_vars=5000; > Salva > FATTO

    • Funziona nel mio caso! Sei il mio angelo! Condivisione fantastica. Ho avuto questo problema per 2 giorni. Grazie mille!

      • Ho provato,

        nel file .htaccess:
        php_value max_input_vars 5000

        nel file php.ini:
        max_input_vars=5000;
        upload_max_filesize = 70M;
        post_max_size = 128M;
        upload_tmp_dir = 70M;
        max_input_vars = 3000;
        memory_limit = 256M;

        nel file .user.ini:
        max_input_vars=3000;

        e ho anche provato inserendo php.ini e .user.ini in wp-admin e fuori da wp-admin, niente funziona per me,

        aggiungendo nel file .htaccess la pagina di amministrazione di WordPress appare vuota (bianca).
        il mio hosting è

        qualsiasi aiuto è apprezzato. TIA

  10. Uso GoDaddy e la correzione di php.ini non ha funzionato affatto per me. GoDaddy non riconosce nemmeno quella pagina o quel codice come valido.

    Ottenendo aiuto dalle persone di GoDaddy mi hanno fornito una soluzione alternativa.

    Ho creato una pagina nella mia cartella html .user.ini (punto-user-punto-ini). Su quella pagina ho aggiunto il codice:

    max_input_vars = 3000

    Sembra funzionare finora.

    • creato una pagina nella mia cartella html .user.ini (punto-user-punto-ini) -> intendevi creare un FILE nella tua cartella PUBLIC_HTML?

      Si prega di confermare poiché ho lo stesso problema qui anche sul server di GoDaddy.
      E non riesco a contattarli da una settimana.

      Non so perché sia così difficile contattare GoDaddy.

      • Akut, uso anche GoDaddy.

        Ho trovato il mio file php.ini nella cartella file manager – public_html, NON in php.admin, né ho dovuto creare il file php.ini.

        GoDaddy sembra pensare che sia un problema di WP, e mi hanno fatto girare a vuoto su quel particolare problema.

        Mi hanno indirizzato ad aumentare il mio limite di dimensione dei file. (Non la stessa soluzione).

    • Questa soluzione è stata l'unica che ha funzionato sulla piattaforma di hosting 1and1:

      Ho creato una pagina nella mia cartella html .user.ini (punto-user-punto-ini). Su quella pagina ho aggiunto il codice:

      max_input_vars = 3000

    • Lou, a prima vista (e al primo test) sembra aver funzionato perfettamente – grazie!

      Aggiornerò se riscontrerò altri problemi.

  11. Ho riscontrato un problema nell'aggiungere un sottomenu al sito WordPress, si converte in un link personalizzato.
    Per favore, aiutami a risolvere questo errore.

  12. rimuovi semplicemente wordpress; e passa a Magento, la migliore soluzione, ha funzionato per me dopo aver provato per 2 mesi ho trovato la migliore soluzione

  13. Su VPS Ubuntu sono riuscito a risolvere commentando e impostando valori più alti come di seguito.

    max_input_nesting_levels = 500
    max_input_vars = 5000

    Comunque grazie, ha fornito una via verso la soluzione

    • ti amo amico!
      la tua soluzione ha risolto anche un altro mio problema! il problema era

      "Dopo aver salvato il menu nella scheda "Modifica menu", la "Impostazioni menu -> Posizione tema" non manteneva la spunta e nella scheda "Gestisci posizioni" la posizione del menu veniva rimossa."

    • Ciao amico,
      Sto usando wordpress multisite e ho alcuni problemi nell'aggiungere più campi personalizzati al mio sito, ho provato di tutto ma niente ha aiutato e ho visto la tua risposta sull'aumento di max_input_nesting_levels = 500. Sto cercando di aumentare questo valore su un VPS con Ubuntu 16.04 nel file PHP.Ini ma senza successo. info.php mostra ancora max_input_nesting_levels = 64. Apprezzo se puoi dirmi come hai aumentato questo valore, se è stato tramite il file PHP.ini o tramite il file htaccess?

      Cordiali saluti,

  14. Amici HostGator – Stesso problema e questo lo ha risolto:

    1. Cpanel > File Manager

    2. public_html > wp-admin

    3. Clicca su "Nuovo file" > chiamalo php.ini (se non hai già questo file)

    4. Clicca su php.ini > clicca su "modifica" > clicca di nuovo su "modifica"

    5. Incolla: max_input_vars=5000; > Salva > FATTO

    • Ciao,

      Il mio sito è ospitato su GoDaddy. Ho creato php.ini in wp-admin e ho incollato la singola riga max_input_vars=5000;

      Ancora non riuscivo ad aggiungere altri menu.

    • Grazie per i suggerimenti. Ho seguito il tuo suggerimento e ho aggiunto il file php.ini con max_input_vars=5000; e ha risolto il mio problema. Grazie ancora

    • 1 – Crea un file di testo
      2 – Inserisci questo: " max_input_vars=5000; " (senza le virgolette)
      3 – Salva come php.ini
      4 – Accedi via FTP a public_html > wp-admin

      PERFETTO
      Grazie!!!

    • Stesso problema sul mio sito web

      Il mio sito è ospitato su HostGator. Ho aggiunto il file php.ini in /wp-admin ma non funziona per me. Aiutatemi per favore.

  15. Sto riscontrando questo problema anch'io. Sono stato indirizzato a questo sito da un tecnico di Studio Press. Ho un account di hosting condiviso con Host Gator. Hanno aumentato il mio max_input_vars a 7000, perché non stavo ottenendo risultati con 3000 o 5000. Ho creato un php.ini con le tue raccomandazioni nella mia wp-admin. Ancora nessun risultato. Devo eliminare il php.ini nella mia cartella public, dato che ne ho creato uno in wp-admin? Ci sto provando così tanto a risolvere questo problema. Molte grazie.

  16. Poiché sono su hosting condiviso, mettere il php.ini nella cartella principale non ha funzionato per me. Ma metterlo nella cartella wp-admin ha funzionato. Penso che questo sia perché il file nav-menus.php si trova nella cartella wp-admin.

  17. Ciao Gente, … sì, anch'io mi sono imbattuto in questo problema/questione del menu … e posso dire YIKES!!! A un certo punto tra le 50 e le 100 pagine, l'ultima voce che ho messo nel menu veniva rimossa, e/o cadeva dalla navigazione del menu principale! Cosa?!!!

    I neofiti, e altri geek allo stesso modo, sanno questo riguardo a quel (problema) … e parlo solo per il mio caso, sebbene lo faccia nella speranza che qualcuno che sperimenta lo stesso incubo possa trarne beneficio … quindi eccoci qui.

    Con l'hosting condiviso di HostGator non ci sarà 'suhosin', che a quanto pare è una patch/programma eccetera per errori di scripting con php progettato per proteggere i 'server' secondo un rappresentante di HostGator, … ora, nonostante questo dettaglio, continuiamo … ciò che era importante nel mio caso, … che ho finalmente fatto capire alla mia persona di HostGator, persona n. 3, attraverso tutto il mio vaneggiare sul problema, è stata la parte riguardante 'max_input_vars = 3000'.

    Il mio rappresentante HostGator mi ha messo in attesa, ha indagato sul problema e ha stabilito che il 'max_input_vars = 3000' doveva essere inserito nel file php.ini, … a cui solo HostGator ha accesso, … non il file php.ini che si trova nella mia/nostra directory 'home' o 'root', a cui io/noi tutti abbiamo accesso, tramite i nostri account con HostGator o altri provider di hosting, utilizzando il CPanel, come spesso chiamiamo questo punto di accesso.

    Questo file php.ini non è in alcun modo accessibile via Internet da me, o da noi, in qualità di titolari di account con accesso all'account di hosting, capito? Bene, ed è bene saperlo.

    Ora, quello che ho fatto è stato prendere quello che Alex, subito sotto questo post, ha detto di fare, e ho inserito queste righe di testo/codice in un file php.ini che ho poi messo nella mia area file public_html, all'interno della mia cartella 'wp-admin', per il dominio su cui stavo lavorando. Per un po', ho pensato che questa 'soluzione' stesse funzionando, poi oggi, stavo aggiungendo altre pagine e 'oh gioia' le voci di navigazione del menu principale stavano cadendo dalla riga, accidenti!!

    Sono tornato al problema, ho rivisto l'intero post e il thread 'Coretrac Ticket', che è un po' al di sopra delle mie capacità, ma comunque, sono stato diligente e determinato. E poi di nuovo all'attacco con la gente di HostGator per il pow-wow n. 2, ho completato quella chiamata e ho dovuto tornare, con la persona n. 3 che è stata quella giusta.

    Infine, quello che ho imparato è che ciò a cui si riferisce 'max_input_vars = 3000' è quante pagine la tua installazione/dominio/WordPress può avere, il '3000' significa pagine. Il mio rappresentante HostGator ha inserito 5000 pagine.

    Quindi, ho aggiunto due nuove pagine di prova sul posto con lui ancora al telefono e abbiamo riportato 'gioia'! Evvai! Anch'io dovrei ora essere in grado di aggiungere pagine a mio piacimento! Possa anche tu sperimentare la GIOIA di WordPress!

    Salute,
    Gadget

    • Il problema è stato risolto con il file php.ini nella cartella wp-admin con la seguente riga su un account di hosting condiviso HostGator.

      max_input_vars = 9000;

      Grazie

  18. Crea un file php.ini ma non nella root! ( public_html )
    nella cartella “wp-admin” poi aggiungi:

    max_input_vars = 3000;

    Ho anche :
    upload_max_filesize = 70M;
    post_max_size = 128M;
    upload_tmp_dir = 70M;
    max_input_vars = 3000;
    memory_limit = 256M;

  19. Ciao, grazie per questo ottimo consiglio! Ho avuto lo stesso problema con UberMenu. Ora ho aggiunto php_value max_input_vars 5000 al mio file .htaccess e ha risolto il problema.

  20. Ho provato alcune cose senza successo. Ho chiesto al mio host di apportare queste modifiche alla configurazione PHP. Ho anche attivato il plugin Memory Bump e poi l'ho rimosso come suggerito da altri.

    Il mio tema (Twenty Ten) supporta solo un menu. Riesco a creare un altro menu e apportare modifiche lì senza problemi. Ho un sito live, quindi sono un po' limitato in termini di quantità di esperimenti che posso fare.

    Altre idee? Proverò qualsiasi cosa a questo punto.

  21. Il suggerimento di Matt ha funzionato anche per me, dato che non eseguo suhosin.

    aggiunto:
    max_input_vars = 5000
    al mio file php.ini

  22. Ho lo stesso problema e il plugin Memory Bump non l'ha risolto.

    Ho contattato il mio provider di hosting e mi hanno detto che non ho ancora un file php.ini e che devo crearlo io, o che WP deve crearlo per me......

    Come si fa?

  23. Sembra che una semplice soluzione sarebbe che la funzionalità ajax di WP valutasse il numero di elementi nella lista e la dividesse in più richieste sequenziali invece di una singola grande richiesta.

    Mi sembra strano che il team di WordPress non ci abbia pensato in anticipo, ma immagino che la piattaforma sia così robusta che hanno semplicemente troppo da fare. Potrei finire per farlo da solo, ma ovviamente dovrò farlo in modo che non venga sovrascritto da futuri aggiornamenti. Che seccatura!

  24. Sono nella stessa situazione di Mat Lipe. Avevo problemi perché il mio server non ha suhosin installato. Sono riuscito a risolvere il problema aggiungendo la direttiva che Mat ha postato al mio file php.ini. Grazie.

  25. Ho appena riscontrato lo stesso problema e dopo giorni di email avanti e indietro con il supporto di we hosting, è stato finalmente risolto!

    Hanno apportato le seguenti modifiche:

    Hanno aggiunto max_input_vars = 5000 in php.ini

    Tutto qui, e ora funziona a meraviglia e sto aggiungendo pagine a più non posso.

  26. Salve,

    Il mio server non sta eseguendo suhosin, quindi sono riuscito a risolvere questo problema aggiungendo questo al mio file php.ini e riavviando il mio server.

    max_input_vars = 5000

    Spero che questo aiuti chiunque altro abbia lo stesso problema

  27. Grazie per questo.

    L'ho riscontrato un po' di tempo fa e pensavo avesse a che fare con l'allocazione della memoria.

    Alla fine sono riuscito ad aggiungere altri menu dopo aver attivato il plugin Memory Bump ( http://wordpress.org/extend/plugins/memory-bump/ ) da WordPressdotorg

    Ho disattivato il plugin in seguito.

    È stato rapido e facile senza dover modificare alcun codice.

Lascia una risposta

Grazie per aver scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra politica sui commenti, e il tuo indirizzo email NON verrà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.