Tutoriale WordPress de încredere, atunci când aveți cea mai mare nevoie.
Ghidul începătorului pentru WordPress
Cupa WPB
25 de milioane+
Site-uri web care folosesc plugin-urile noastre
16+
Ani de experiență WordPress
3000+
Tutoriale WordPress de la experți

Cum să rezolvi limita elementelor de meniu personalizate în WordPress

Cu doar câteva zile în urmă, unul dintre utilizatorii noștri a raportat o problemă neobișnuită. Problema era că atingea limita elementelor de meniu personalizate. Orice salva după ce atingea limita elementelor de meniu nu se salva deloc. Nu mai auziserăm niciodată de această problemă, așa că am decis să o încercăm pe instalarea noastră locală. Am creat peste 200 de elemente de meniu și le-am salvat. A funcționat perfect. Am mutat 100 de elemente într-un meniu derulant și s-a salvat perfect. În acel moment, știam că problema avea legătură cu serverul. În urma unor cercetări suplimentare, am constatat că mulți alții se confruntau cu aceeași problemă. Săpând puțin mai adânc, am găsit un tichet trac (#14134) care evidenția această problemă. După ce am citit tichetul trac foarte, foarte lung, se pare că problema nu a fost încă rezolvată, dar există o soluție de rezolvare pentru cei care se confruntă cu această problemă. În acest articol, vă vom arăta cum să remediați limita elementelor de meniu personalizate în WordPress.

Pentru a remedia problema, trebuie să editați fișierul PHP.ini. Dacă sunteți pe un server dedicat sau pe un VPS cu acces root, atunci ar trebui să știți deja despre ce vorbim. Dacă sunteți pe o găzduire partajată sau nu știți unde se află fișierul PHP.ini, atunci întrebați furnizorul dvs. de găzduire web să facă acest lucru pentru dvs.

Trebuie să le cereți să seteze următoarele valori în configurația PHP.ini:

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

Un alt utilizator „ronnieg” a postat o soluție pe care o are pentru site-ul său imobiliar mare (peste 450 de pagini și în creștere) și meniul său. Puteți citi răspunsul său pentru a urmări. (Notă: nu am încercat încă acest lucru)

Explicația problemei

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 este un proiect open-source (voluntar), iar echipa de bază face tot posibilul pentru a-l îmbunătăți în fiecare zi. Acest lucru va fi remediat, dar cronologia nu este încă definită, așa cum se menționează „Versiuni viitoare”.

Dacă ați încercat ceva diferit care a rezolvat această problemă pentru dvs., vă rugăm să ne anunțați în comentarii. Acest lucru va permite altora să-și rezolve problema până când echipa principală va găsi o soluție.

Dezvăluire: Conținutul nostru este susținut de cititori. Acest lucru înseamnă că dacă faceți clic pe unele dintre linkurile noastre, este posibil să câștigăm un comision. Vedeți cum este finanțat WPBeginner, de ce contează și cum ne puteți susține. Iată procesul nostru editorial.

Cel mai bun instrumentar WordPress

Obține acces GRATUIT la instrumentarul nostru - o colecție de produse și resurse legate de WordPress pe care fiecare profesionist ar trebui să le aibă!

Interacțiuni cu cititorii

80 CommentsLeave a Reply

  1. Hei! Folosesc găzduire partajată. De aceea nu am acces root pentru a edita fișierul phpi.ni. Cum pot rezolva problema?

  2. Salut

    Aspect -> Meniu -> la click -> redirecționare către -> pagina 404

    Am adăugat câteva meniuri principale și categorii pe site-ul meu. după un timp nu am mai putut deschide meniul pentru a modifica sau șterge nimic. site-ul meu este redirecționat către pagina 404. Am încercat multe coduri, dar nimic nu funcționează. Vă rog să mă ajutați

  3. Am întâmpinat aceeași problemă… dar sunt pe localhost… deci nu am pe cine să cer ajutor! (Windows 10/XAMPP/WP4.8). Nou în WP, nici măcar nu știu unde să găsesc php.ini! „Soluția mea rapidă” a fost să elimin câteva elemente de submeniu mai puțin importante. Dar vreau să le pun pe toate înapoi. Am verificat „memory-bump” menționat mai sus, dar este vechi. S-ar putea să nu funcționeze pe WP4.8. Nu merită riscul!

  4. Salut.

    Mulțumesc pentru informațiile excelente. Am rezolvat în cele din urmă problema pe găzduirea GoDaddy creând un fișier ph5.ini în Webroot cu următoarele informații:

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

    problemă rezolvată după ce serviciul clienți a resetat baza de date, ceva ce eu nu am putut face. Sper să ajute.

  5. Salut, mulțumesc pentru asta

    Am rulat și am avut această problemă. Aveam un meniu lung și într-o zi s-a redus la doar 50 de rânduri. Suportul temei m-a trimis la acest subiect. Am încercat toate opțiunile, dar doar una a funcționat pentru mine chiar și fără a contacta suportul de găzduire.

    Am adăugat „php_value max_input_vars 5000” (fără ghilimele) în fișierul meu .htaccess înainte de linia „#end of wordpress” și a rezolvat problema.

  6. Salut Echipă,

    Folosesc Hostgator cu Multidomain SSL.

    Am verificat setările și nu știu unde și cum să fac.

    Am adăugat fișierul php.ini cu codul max_input_vars=9000; și totuși nu pot adăuga elemente de meniu în meniul principal.

    Cineva să mă ajute. Mult apreciat.

    Cu stimă,
    -Rams

  7. Am această problemă chiar acum, am contactat gazdele care spun că nu pot / nu vor crește la 5000 de variabile deoarece este un server partajat, există vreo altă soluție? este posibil să am două meniuri de navigare pe aceeași pagină, ar rezolva asta problema, sau ar continua pur și simplu.

    Mulțumesc anticipat, orice ajutor ar fi foarte apreciat

  8. Grozav. Am aceeași problemă de mult timp fără să știu de ce. Am întrebat atâția oameni. Abia astăzi mi-am rezolvat problema. Nu este nevoie să suni la centrul de suport HostGator. O putem face singuri. Foarte util. Nu am cuvinte să mulțumesc.

  9. Care este limita maximă pe care o putem seta pentru aceasta? Se pare că am epuizat și limita de 5000.

  10. Mahalo nui loa (mulțumesc mult)!

    Acest lucru a funcționat pentru site-ul unui client care se află la Bluehost, găzduire partajată:
    1. Cpanel > File Manager
    2. public_html > wp-admin
    3. Apăsați pe „New File” > numiți-l php.ini (dacă nu aveți deja acest fișier)
    4. Apăsați pe php.ini > apăsați pe „edit” > apăsați din nou pe „edit”
    5. Lipiți: max_input_vars=5000; > Salvați > FINALIZAT

    • A funcționat în cazul meu! Ești îngerul meu! O distribuție fantastică. Am avut această problemă timp de 2 zile. Mulțumesc mult!

      • Am încercat,

        în fișierul .htaccess:
        php_value max_input_vars 5000

        în fișierul 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;

        în fișierul .user.ini:
        max_input_vars=3000;

        și, de asemenea, am testat plasând php.ini & .user.ini în wp-admin și în afara wp-admin, nimic nu funcționează pentru mine,

        prin adăugarea în .htaccess pagina wp admin apare goală (albă).
        găzduirea mea este

        Orice ajutor este apreciat. Mulțumesc anticipat.

  11. Folosesc GoDaddy și soluția cu php.ini nu a funcționat deloc pentru mine. GoDaddy nici măcar nu recunoaște acea pagină sau cod ca fiind valid.

    Obținând ajutor de la oamenii de la GoDaddy, mi-au oferit o soluție.

    Am creat o pagină în folderul meu html .user.ini (punct-user-punct-ini). Pe acea pagină am adăugat codul:

    max_input_vars = 3000

    Se pare că funcționează deocamdată.

    • am creat o pagină în folderul meu html .user.ini (dot-user-dot-ini) -> te-ai referit la crearea unui FIȘIER în folderul tău PUBLIC_HTML?

      Vă rog să confirmați, deoarece am aceeași problemă și aici pe serverul godaddy.
      Și nu am putut să îi contactez de o săptămână.

      Nu știu de ce este atât de greu să contactezi GoDaddy.

      • Akut Folosesc și eu Godaddy.

        Am găsit fișierul meu php.ini în managerul de fișiere – folderul public_html NU în php.admin, nici nu a trebuit să creez fișierul php.ini.

        Godaddy pare să creadă că este o problemă WP și am fost trimis de colo-colo în legătură cu acea problemă specifică.

        M-au îndrumat să-mi măresc limita de dimensiune a fișierului. (Nu aceeași soluție).

    • Această soluție a fost singura care a funcționat pe platforma de găzduire 1and1:

      Am creat o pagină în folderul meu html .user.ini (punct-user-punct-ini). Pe acea pagină am adăugat codul:

      max_input_vars = 3000

    • Lou, la prima vedere (și primul test) se pare că a funcționat perfect – mulțumesc!

      Voi actualiza dacă întâmpin alte probleme.

  12. Am întâmpinat o problemă la adăugarea unui submeniu pe site-ul WordPress, acesta se transformă într-un link personalizat.
    Vă rog să mă ajutați să rezolv această eroare

  13. doar eliminați wordpress ; și mergeți la magento, cea mai bună soluție, a funcționat pentru mine după 2 luni de încercări, am găsit cea mai bună soluție

  14. Pe Ubuntu VPS am reușit să o rezolv prin decomentarea și setarea unor valori mai mari, așa cum este prezentat mai jos.

    max_input_nesting_levels = 500
    max_input_vars = 5000

    Dar oricum mulțumesc, deoarece a oferit o cale către soluție

    • te iubesc, om!
      această soluție a ta mi-a rezolvat și o altă problemă! problema era

      „După salvarea meniului în fila „Editare meniu”, setarea „Setări meniu -> Locație temă” nu va reține bifarea, iar în fila „Gestionare locații”, locația meniului va fi eliminată.”

    • Salut, omule,
      Folosesc wordpress multisite și am o problemă cu adăugarea mai multor câmpuri personalizate pe site-ul meu, am încercat totul și nimic nu a ajutat și am văzut răspunsul tău despre creșterea valorii max_input_nesting_levels = 500. Încerc să cresc această valoare pe VPS cu Ubuntu 16.04 în fișierul PHP.Ini, dar fără succes. info.php încă arată max_input_nesting_levels = 64. Apreciez dacă îmi poți spune cum ai crescut această valoare, fie prin fișierul PHP.ini, fie prin fișierul htaccess?

      Cu stimă,

  15. Prieteni HostGator – Aceeași problemă & Aceasta a rezolvat-o:

    1. Cpanel > Manager fișiere

    2. public_html > wp-admin

    3. Apăsați pe „Fișier nou” > denumiți-l php.ini (dacă nu aveți deja acest fișier)

    4. Faceți clic pe php.ini > faceți clic pe „edit” > faceți clic din nou pe „edit”

    5. Copiază: max_input_vars=5000; > Salvează > GATA

    • Salut,

      Site-ul meu este găzduit pe godaddy. Am creat php.ini în wp-admin și am lipit singura linie max_input_vars=5000;

      Tot nu am putut adăuga mai multe meniuri.

    • Mulțumesc pentru sugestii. Am urmat sugestia dvs. și am adăugat fișierul php.ini cu max_input_vars=5000; și mi-a rezolvat problema. Mulțumesc încă o dată

    • 1 – Creați un fișier text
      2 – Puneți asta în el „max_input_vars=5000;” (fără ghilimele)
      3 – Salvați ca php.ini
      4 – Conectați-vă prin FTP la public_html > wp-admin

      PERFECT
      Mulțumesc!!!

    • Aceeași problemă pe site-ul meu

      Site-ul meu este găzduit pe HostGator. Am adăugat fișierul php.ini în /wp-admin, dar nu funcționează pentru mine. Vă rog să mă ajutați.

  16. Am și eu această problemă. Am fost direcționat către acest site de către un tehnician de la Studio Press. Am un cont de găzduire partajată la Host Gator. Mi-au mărit max_input_vars la 7000, deoarece nu am obținut niciun rezultat cu 3000 sau 5000. Am creat un fișier php.ini cu recomandările tale în directorul meu wp-admin. Tot nu am reușit. Trebuie să șterg fișierul php.ini din directorul meu public, deoarece am creat unul în wp-admin? Încerc din greu să rezolv asta. Mulțumesc mult.

  17. Deoarece sunt pe găzduire partajată, plasarea fișierului php.ini în folderul rădăcină nu a funcționat pentru mine. Dar plasarea lui în folderul wp-admin a funcționat. Cred că acest lucru se datorează faptului că fișierul nav-menus.php se află în folderul wp-admin.

  18. Salutare, Oameni buni, … da, și eu m-am confruntat cu această problemă/dificultate a meniului … și pot să spun YIKES!!! La undeva între 50 și 100 de pagini, ultimul element pe care l-am pus în meniu era eliminat și/sau dispărea din navigarea principală a meniului! Ce?!!!

    Noobii și alți tocilari deopotrivă știu asta despre asta (problemă) … și vorbesc doar în cazul meu, deși o fac în speranța că cineva care se confruntă cu același coșmar va beneficia … deci, să începem.

    Cu „găzduire partajată” folosind HostGator… nu va exista „suhosin”, care este, aparent, un patch/program etc. pentru erori de scripting cu php, conceput pentru a proteja „serverele” conform unui reprezentant HostGator, … acum, în ciuda acestui detaliu, continuăm … ceea ce a fost important în cazul meu, … a fost că în cele din urmă am reușit să-l fac pe persoana mea de la HostGator, persoana nr. 3, să înțeleagă, prin toată bâlbâiala mea despre problemă, partea despre „max_input_vars = 3000”.

    Reprezentantul meu HostGator m-a pus în așteptare, a investigat problema și a determinat că „max_input_vars = 3000” trebuia introdus în fișierul php.ini, … la care doar HostGator are acces, … nu fișierul php.ini care se află în directorul „home” sau „root” al meu/nostru, la care eu/noi toți avem acces, prin conturile noastre la HostGator sau alți furnizori de hosting, folosind CPanel-ul, așa cum numim adesea acest punct de acces.

    Acest fișier php.ini nu este, în niciun fel, accesibil prin internet de către mine sau de noi, ca deținători de cont cu acces la contul de hosting, înțeles? Bine, și e bine de știut.

    Acum, ce am făcut a fost să iau ceea ce a spus Alex, chiar mai jos de acest post, și am pus aceste linii de text/cod într-un fișier php.ini pe care apoi l-am pus în zona fișierelor mele publice_html, în interiorul folderului meu 'wp-admin', pentru domeniul cu care lucram. Pentru o vreme, am crezut că această 'soluție' funcționa, apoi astăzi, adăugam mai multe pagini și 'oh, bucurie' elementele de navigare din meniul principal cădeau de pe linie, la naiba!!

    M-am întors la problemă, am revizuit întregul post și firul de discuție 'Coretrac Ticket', care este puțin peste nivelul meu, dar totuși, am fost diligent și determinat. Și apoi m-am întors în breșă cu oamenii de la HostGator pentru pow-wow #2, am finalizat apelul și a trebuit să mă întorc, cu persoana #3 care a fost farmecul.

    În cele din urmă, ceea ce am învățat este că, la ce se referă 'max_input_vars = 3000' este câte pagini poate avea instalarea/domeniul/WordPress-ul tău, '3000' înseamnă pagini. Reprezentantul meu HostGator a introdus 5000 de pagini.

    Așa că am adăugat două pagini de test noi pe loc, în timp ce el era încă la telefon și am raportat 'bucurie'! Yay! Și eu ar trebui să pot adăuga pagini pe săturate! Fie ca și tu să experimentezi BUCURIA WordPress!

    Salutări,
    Gadget

    • Problema a fost rezolvată cu fișierul php.ini din folderul wp-admin cu următoarea linie pe contul de hosting partajat HostGator.

      max_input_vars = 9000;

      Mulțumesc

  19. Creați un fișier php.ini, dar nu în directorul rădăcină! (public_html)
    în folderul "wp-admin", apoi adăugați:

    max_input_vars = 3000;

    Am și eu :
    upload_max_filesize = 70M;
    post_max_size = 128M;
    upload_tmp_dir = 70M;
    max_input_vars = 3000;
    memory_limit = 256M;

  20. Salut, mulțumesc pentru acest sfat grozav! Am avut aceeași problemă cu UberMenu. Acum am adăugat php_value max_input_vars 5000 în fișierul meu .htaccess și a rezolvat problema.

  21. Am încercat câteva lucruri fără succes. Am rugat gazda să facă aceste modificări de configurare PHP. De asemenea, am activat pluginul Memory Bump și apoi l-am eliminat, așa cum au sugerat alții.

    Tema mea (Twenty Ten) suportă doar un singur meniu. Pot crea un alt meniu și pot face modificări acolo fără probleme. Am un site live, așa că sunt puțin limitat în ceea ce privește cantitatea de experimentare pe care o pot face.

    Alte idei? Voi încerca orice la acest punct.

  22. Sugestia lui Matt a funcționat și pentru mine, deoarece nu rulez suhosin.

    adăugat:
    max_input_vars = 5000
    în fișierul meu php.ini

  23. Am aceeași problemă, iar pluginul Memory Bump nu a rezolvat-o.

    Am contactat furnizorul meu de găzduire și mi-au spus că nu am încă un fișier php.ini și că trebuie să-l creez eu, sau WP trebuie să-l creeze pentru mine……

    Cum fac asta?

    • Bart, dacă serverul dvs. web rulează scripturi php, atunci cu siguranță are un fișier php.ini pe care gazda dvs. web îl poate configura dacă dorește.

      Admin

  24. Se pare că o soluție simplă ar fi ca funcționalitatea WP ajax să evalueze numărul de elemente din listă și să le împartă în mai multe cereri secvențiale, în loc de o singură cerere mare.

    Mi se pare ciudat că echipa WordPress nu s-a gândit la asta din timp, dar cred că platforma este atât de robustă încât pur și simplu au prea multe pe cap. S-ar putea să ajung să o fac singur, dar desigur va trebui să o fac într-un mod care să nu fie suprascris de actualizările viitoare. Ce bătaie de cap!

  25. Sunt în aceeași situație ca Mat Lipe. Aveam probleme pentru că serverul meu nu are instalat suhosin. Am reușit să rezolv problema adăugând directiva pe care a postat-o Mat în fișierul meu php.ini. Mulțumesc.

  26. Tocmai am întâmpinat aceeași problemă și, după zile de emailuri trimise și primite cu suportul de găzduire web, a fost în cele din urmă rezolvată!

    Au făcut următoarele modificări:

    Au adăugat max_input_vars = 5000 în php.ini

    Asta e tot, și acum funcționează ca uns și adaug pagini pe săturate.

  27. Salut,

    Serverul meu nu rulează suhosin, așa că am reușit să rezolv această problemă adăugând acest lucru în fișierul meu php.ini și repornind serverul.

    max_input_vars = 5000

    Sper să ajute pe oricine altcineva cu aceeași problemă

  28. Mulțumesc pentru asta.

    Am experimentat asta cu mult timp în urmă și am crezut că are legătură cu alocarea memoriei.

    Am reușit în cele din urmă să adaug mai multe meniuri după activarea pluginului Memory Bump ( http://wordpress.org/extend/plugins/memory-bump/ ) de la WordPressdotorg

    Am dezactivat pluginul ulterior.

    A fost rapid și ușor, fără a modifica niciun cod.

Lasă un răspuns

Vă mulțumim că ați ales să lăsați un comentariu. Vă rugăm să rețineți că toate comentariile sunt moderate conform politicii noastre de comentarii, iar adresa dvs. de e-mail NU va fi publicată. Vă rugăm să NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.