Limite del menu, non posso aggiungere nuovi elementi

13 dic 2012, 01:52:38
Visualizzazioni: 17.7K
Voti: 5

Sto utilizzando WP 3.4.2 su un VPS. Quando ho migrato per la prima volta su questo server VPS e ho importato tutti i miei dati WP dal vecchio server, i menu funzionavano correttamente. Tuttavia, per qualche motivo, ora non posso modificare/aggiungere elementi ai menu e alcuni elementi sono stati eliminati. Non importa quante volte provi a riaggiungere quegli elementi, non compaiono. WP non segnala alcun errore. Quando li aggiungo nuovamente e clicco sul pulsante "Salva Menu", dopo una lunga pausa (30-45 secondi) WP dice semplicemente "Il menu Principale è stato aggiornato." Ma i nuovi elementi mancano, sia dai menu del sito che dalla configurazione dei menu in WP.

Inizialmente, quando ho migrato su questo VPS, c'erano 9 elementi di primo livello nel menu e circa 90 sotto-elementi - circa 100 elementi menu in totale. Tutto veniva visualizzato correttamente.

Ora sono limitato a 88 elementi menu. Posso aggiungere un elemento menu solo eliminandone un altro.

Non sono sicuro di quando sia iniziato questo problema, perché non modifichiamo spesso il menu. È stato notato per la prima volta ieri che alcuni elementi del menu erano scomparsi, il che potrebbe coincidere con qualcuno che ha aggiunto o modificato un elemento del menu. Ma siamo su questo nuovo VPS da circa un mese.

Ho trovato in un'altra discussione del forum un riferimento a suhosin che può causare problemi di limite del menu in WP 3.x, ma non è parte della nostra installazione PHP.

Ho provato con Safari e Firefox (OS X). Stessi risultati con entrambi.

2
Commenti

Sei sicuro che "per qualche motivo" non sia un nuovo plugin o qualche aggiornamento? Hai eseguito il troubleshooting completo? E le informazioni di debug?

brasofilo brasofilo
13 dic 2012 04:34:41

Si è scoperto che era necessario aumentare max_input_vars in php.ini. Avevamo aggiornato i plugin, ma non ne erano stati installati di nuovi, e nessuno dei plugin è direttamente correlato al menu. Comunque quei link sono stati utili.

Michael Michael
13 dic 2012 17:53:22
Tutte le risposte alla domanda 4
1

Ho avuto un problema simile con il server di un cliente e la soluzione nel loro caso è stata aumentare l'impostazione max_input_vars di PHP nel file php.ini.

Il numero di voci di menu moltiplicato per il numero di attributi per ogni voce stava esaurendo le variabili di input consentite, quindi il server stava troncando silenziosamente la richiesta, con il risultato che le voci di menu semplicemente sparivano dalla fine.

13 dic 2012 02:51:19
Commenti

Questo era il ticket. Aggiungere max_input_vars = 2000 al mio php.ini e riavviare il server mi ha permesso di aggiungere le voci di menu troncate. (Stranamente, occasionalmente ricevo errori 404 quando aggiorno il menu. Cioè, l'aggiornamento torna alla stessa pagina WP /wp-admin/nav-menus.php, ma mostra un errore 404 invece della pagina di modifica del menu. Nonostante ciò, il menu è stato aggiornato correttamente.)

Michael Michael
13 dic 2012 16:44:58
2

Lo stesso problema è stato trattato in un articolo recente di WPBeginner


Devi modificare il tuo file php.ini. Essendo ospitato su un VPS, dovresti avere accesso a questo file. In caso contrario, chiedi gentilmente al tuo web host di farlo per te.

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

Esiste anche un ticket trac (#14134) che evidenzia questo problema.

13 dic 2012 06:20:59
Commenti

Come spiegato nella domanda originale, il mio sito non utilizza suhosin. Tuttavia, c'è un'impostazione PHP correlata, max_input_vars, che ha dovuto essere modificata. Vedi il commento di @Milo sopra.

Michael Michael
13 dic 2012 17:55:10

Scusa, devo aver perso quella parte. Lascio qui la mia risposta nel caso un visitatore occasionale utilizzi suhosin

shea shea
13 dic 2012 22:19:56
2

Mi sono imbattuto in questo problema diverse volte. Prova questa rapida soluzione:

  1. Apri il tuo editor di testo preferito (Notepad, Dreamweaver, ecc.)
  2. Crea un file chiamato "php.ini"
  3. Incolla il seguente codice: php_value max_input_vars 7000
  4. Salva il file
  5. Carica il file nella cartella root del tuo sito via ftp (Filezilla, Rush FTP, ecc.)

:) Fatto!

22 ago 2013 01:17:44
Commenti

Puoi per favore definire qual è la "cartella root"? Si trova nella mia cartella \sitename\?

p.a. p.a.
18 feb 2014 15:58:06

@p.a.dovresti mettere il file php.ini nella cartella wp-admin

Andrew Lazarus Andrew Lazarus
29 apr 2015 17:29:14
0

Alcune soluzioni:

1) Cambia semplicemente i menu non dal pannello di amministrazione, ma dal "personalizzatore" (perché utilizza una chiamata AJAX)

2) Prova ad aggiungere php_value max_input_vars 7000 nel file .htaccess (o php.ini) [quando sei su un hosting condiviso]

3) Prova ad aumentare la memoria, aggiungi questo in wp-config.php: define("WP_MEMORY_LIMIT", "128M");

19 ott 2016 00:04:27