Limită la meniu, nu pot adăuga elemente noi
Rulez WordPress 3.4.2 pe un VPS. Când am migrat inițial pe acest server VPS și am importat toate datele WordPress de pe vechiul server, meniurile au funcționat perfect. Totuși, din nu știu ce motiv, nu mai pot edita/adauga în meniuri, iar unele elemente au dispărut. Indiferent de câte ori încerc să le adaug din nou, acestea nu apar. WordPress nu raportează nicio eroare. Când le adaug din nou și apăs butonul "Salvează Meniul", după o pauză lungă (30-45 sec) WordPress afișează pur și simplu mesajul "Meniul Principal a fost actualizat." Dar elementele noi lipsesc, atât din meniurile site-ului cât și din setările meniurilor WordPress.
Inițial, când am migrat pe acest VPS, existau 9 elemente principale în meniu și aproximativ 90 de sub-elemente - în total cam 100 de itemi. Totul se afișa corect.
Acum sunt limitat la 88 de elemente de meniu. Pot adăuga un element doar prin ștergerea altuia.
Nu sunt sigur când a început această problemă, pentru că nu edităm meniul des. Am observat pentru prima dată ieri că unele elemente din meniu au dispărut, ceea ce poate coincide cu momentul când cineva a adăugat sau editat un element de meniu. Dar folosim acest VPS nou de aproximativ o lună.
Am găsit pe un forum o referire la suhosin care poate cauza probleme de limită la meniuri în WordPress 3.x, dar acesta nu face parte din instalarea noastră PHP.
Am încercat atât Safari cât și Firefox (pe OS X). Rezultate identice cu ambele.

Am avut o problemă similară pe serverul unui client, iar soluția în cazul lor a fost să mărească setarea max_input_vars
din PHP în fișierul php.ini
.
Numărul de elemente din meniu înmulțit cu numărul de atribute pentru fiecare element depășea limita permisă de variabile de intrare, așa că serverul tăcea și trunchia cererea, rezultând în dispariția unor elemente din meniu.

Aceasta a fost soluția. Adăugarea liniei max_input_vars = 2000
în fișierul meu php.ini și repornirea serverului mi-a permis să adaug elementele de meniu care erau trunchiate. (În mod ciudat, uneori primesc erori 404 când actualizez meniul. Adică, actualizarea revine la aceeași pagină WP /wp-admin/nav-menus.php, dar afișează o eroare 404 în loc să arate pagina de editare a meniului. Dar, în ciuda acestui fapt, meniul a fost actualizat corect.)

Aceeași problemă a fost subiectul unui articol recent de WPBeginner
Trebuie să editați fișierul php.ini
. Deoarece sunteți găzduit pe un VPS, ar trebui să aveți acces la acesta. Altfel, cereți politicos gazdei dumneavoastră web să o facă pentru dumneavoastră.
suhosin.post.max_vars = 5000
suhosin.request.max_vars = 5000
Există de asemenea un tichet trac (#14134) care evidențiază această problemă.

După cum s-a explicat în întrebarea originală, site-ul meu nu utilizează suhosin. Cu toate acestea, există o setare PHP înrudită, max_input_vars, care a trebuit ajustată. Vezi comentariul de la @Milo mai sus.

Am întâlnit această problemă de mai multe ori. Încearcă această soluție rapidă:
- Deschide editorul tău de text preferat (Notepad, Dreamweaver etc.)
- Creează un fișier numit "php.ini"
- Lipește următorul cod:
php_value max_input_vars 7000
- Salvează fișierul
- Încarcă fișierul în folderul rădăcină al site-ului tău prin FTP (Filezilla, Rush FTP etc.)
:) Gata!

Câteva soluții:
1) Pur și simplu schimbă meniurile nu din panoul ADMIN, ci din "personalizator" (deoarece folosește un apel AJAX)
2) Încearcă să adaugi php_value max_input_vars 7000
în fișierul .htaccess
(sau php.ini) [când ești pe shared hosting]
3) încearcă să crești memoria, adaugă asta în wp-config.php
: define("WP_MEMORY_LIMIT", "128M");
