Limită la meniu, nu pot adăuga elemente noi

13 dec. 2012, 01:52:38
Vizualizări: 17.7K
Voturi: 5

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.

2
Comentarii

Ești sigur că „din nu știu ce motiv” nu este un plugin nou sau o actualizare? Ai depanat complet? Ce zici de informațiile de depanare?

brasofilo brasofilo
13 dec. 2012 04:34:41

S-a dovedit că era nevoie să mărim max_input_vars în php.ini. Am actualizat pluginuri, dar nu am instalat altele noi și niciunul dintre pluginuri nu are legătură directă cu meniul. Totuși, acele link-uri sunt utile.

Michael Michael
13 dec. 2012 17:53:22
Toate răspunsurile la întrebare 4
1

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.

13 dec. 2012 02:51:19
Comentarii

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.)

Michael Michael
13 dec. 2012 16:44:58
2

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ă.

13 dec. 2012 06:20:59
Comentarii

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.

Michael Michael
13 dec. 2012 17:55:10

Îmi pare rău, probabil am ratat acea parte. Voi lăsa răspunsul meu aici doar în cazul în care un vizitator întâmplător folosește suhostin

shea shea
13 dec. 2012 22:19:56
2

Am întâlnit această problemă de mai multe ori. Încearcă această soluție rapidă:

  1. Deschide editorul tău de text preferat (Notepad, Dreamweaver etc.)
  2. Creează un fișier numit "php.ini"
  3. Lipește următorul cod: php_value max_input_vars 7000
  4. Salvează fișierul
  5. Încarcă fișierul în folderul rădăcină al site-ului tău prin FTP (Filezilla, Rush FTP etc.)

:) Gata!

22 aug. 2013 01:17:44
Comentarii

Poți să definești te rog care este "folderul root"? Este în folderul \nume_site\ al meu?

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

@p.a. ar trebui să plasezi php.ini în folderul wp-admin

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

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");

19 oct. 2016 00:04:27