Pålitliga WordPress-handledningar, när du behöver dem som mest.
Nybörjarguide till WordPress
WPB-cupen
30 miljoner+
Webbplatser som använder våra plugins
20+
År av WordPress-erfarenhet
3000+
WordPress-handledningar
av experter

Hur du åtgärdar begränsningen för anpassade menyalternativ i WordPress

Om du har lagt till flera objekt i din WordPress-meny och vissa vägrar att sparas, eller ännu värre, försvinner helt, har du troligen nått din servers max_input_vars-gräns. Denna inställning begränsar hur många inmatningsfält PHP accepterar i en enda begäran, och menyalternativ kan snabbt få dig att överskrida den gränsen.

WordPress åtgärdade den underliggande buggen i version 4.5.3. Om du fortfarande stöter på detta problem orsakas det vanligtvis av ett tema, plugin eller sidbyggare som får dig att överskrida din servers gräns.

I den här artikeln visar vi dig hur du åtgärdar gränsen för anpassade menyalternativ i WordPress.

Hur du åtgärdar begränsningen för anpassade menyalternativ i WordPress

Vad orsakar gränsen för menyalternativ

Gränsen för anpassade menyalternativ i WordPress orsakas vanligtvis av din servers PHP-inställning max_input_vars. Denna inställning styr hur många formulärfält PHP kan acceptera när du sparar en WordPress-meny. De flesta servrar ställer in den till 1 000 som standard.

Varje menyalternativ använder flera formulärfält, inklusive etikett, URL, mål, CSS-klasser och mer. När din meny växer kan det totala antalet fält så småningom överskrida denna gräns. När det händer kan PHP sluta bearbeta några av fälten när du sparar menyn, vilket gör att vissa objekt försvinner.

Om du fortfarande ser det här felet idag kan ditt tema, sidbyggare eller ett plugin lägga till extra fält i menyformuläret eller ändra hur menyn sparas. Du kan se ett meddelande som "PHP max input vars måste vara minst 5000."

Om vissa menyalternativ har försvunnit, spara inte menyn igen än. Att göra det kan skriva över menyn med de saknade objekten. Åtgärda först gränsen för indatavariabler, återgå sedan till menyn och återställ eventuella saknade objekt.

Med det sagt, låt oss guida dig genom hur du åtgärdar gränsen för anpassade menyalternativ i WordPress. Här är allt vi kommer att täcka i den här artikeln:

Steg 1: Uppdatera WordPress och kontrollera din nuvarande gräns

Först, se till att WordPress kör den senaste versionen. Detta ensamt löser den klassiska versionen av den här buggen.

Gå till Instrumentpanel » Uppdateringar och installera alla väntande kärnuppdateringar.

WordPress admininstrumentpanels uppdateringsskärm

Kontrollera sedan vad din servers max_input_vars för närvarande är inställt på.

Gå till Verktyg » Webbplats Hälsa » Info, öppna sedan avsnittet 'Server'. Du kommer att se max_input_vars listat med sitt aktuella värde.

Kontrollerar max_input_vars inuti Webbplats Hälsa's serverinformation

Om det är under 1 000, eller om ditt tema eller plugin specifikt kräver ett högre nummer, måste du höja det med någon av metoderna nedan.

Metod 1: Höj gränsen i din hostingpanel

Många WordPress-värdar låter dig ändra PHP-inställningar utan att röra några filer. På värdar som använder cPanel görs detta via MultiPHP INI Editor.

Logga först in på cPanel och navigera till Programvara » MultiPHP INI Editor.

Åtkomst till MultiPHP INI Editor inuti cPanel

Välj sedan din domän från rullgardinsmenyn och hitta sedan 'max_input_vars' och ställ in den på '5000'. Klicka på 'Verkställ'.

Konfigurera max_input_vars inuti cPanel

Om din värd inte använder cPanel, leta efter en skärm för 'PHP-inställningar' eller 'PHP-konfiguration' i din värddashbord. De flesta hanterade WordPress-värdar erbjuder något liknande.

Metod 2: Redigera din .user.ini- eller php.ini-fil

💡 Viktigt: Att redigera .user.ini eller php.ini kan påverka hela din webbplats. Det är en bra idé att skapa en fullständig WordPress-säkerhetskopia innan du gör ändringar.

Om din värdleverantör inte erbjuder en PHP-inställningspanel kan du öka gränsen för max_input_vars genom att redigera en PHP-konfigurationsfil.

De flesta delade värdar använder en .user.ini-fil, som du vanligtvis hittar i din WordPress-rotmapp. Vissa serverkonfigurationer använder php.ini istället.

Öppna lämplig fil med din filhanterare för värden eller en FTP-klient och lägg till:

max_input_vars = 5000

Spara filen och ladda upp den tillbaka till samma plats om det behövs. Observera att ändringar i .user.ini vanligtvis tar några minuter att träda i kraft.

Redigera php.ini för max_input_vars

Osäker på vilken fil du ska redigera eller var du hittar den? Se vår guide om var php.ini finns i WordPress för värdbaserade instruktioner.

Metod 3: Redigera din .htaccess-fil

💡 Viktigt: Ett syntaxfel i .htaccess kan göra hela din webbplats otillgänglig med ett 500 Internal Server Error-fel. Säkerhetskopiera din webbplats innan du redigerar den här filen.

Om din webbplats körs på en Apache-server kan du också öka gränsen för max_input_vars via din .htaccess-fil. Den här serverkonfigurationsfilen finns vanligtvis i din WordPress-rotkatalog.

Öppna filen .htaccess med din värdhanterare för filer eller en FTP-klient och lägg till:

php_value max_input_vars 5000
Redigera .htaccess för max_input_vars

Spara filen och kontrollera din WordPress-meny igen.

Tänk på att den här metoden endast fungerar för Apache. Om din webbplats går ner efter att du sparat, ta bort raden du just lade till och prova en av de andra metoderna istället.

Kan du inte se din .htaccess-fil? Se vår kompletta guide om hur du hittar din .htaccess-fil.

Metod 4: Fråga din hostingleverantör

Om inget av ovanstående är tillgängligt för dig, kommer de flesta värdar att göra denna ändring åt dig. Du kan kopiera och klistra in detta meddelande till deras supportteam:

Hej, kan du vänligen höja PHP-inställningen max_input_vars till 5000 för min webbplats? Jag stöter på ett problem med att spara WordPress-menyer orsakat av den nuvarande gränsen. Tack!

Om du letar efter en värd som ger dig mer direkt kontroll över PHP-inställningar, se vår guide till den bästa WordPress-värden.

Verifiera lösningen

När du har ökat gränsen för max_input_vars är det en bra idé att verifiera att det nya värdet är aktivt innan du bygger om din meny.

Gå helt enkelt tillbaka till Verktyg » Webbplats Hälsa » Info » Server och bekräfta att max_input_vars nu visar 5000 (eller ditt nya värde).

max_input_vars inuti Webbplats Hälsa's serverinformation ökad

Sedan kan du gå till Utseende » Menyer, bygga om eventuella saknade objekt och spara. Din fullständiga meny bör nu sparas utan att något tappas bort.

Sparar fortfarande inte? Andra saker att kontrollera

  • Inaktivera dina plugins en efter en, spara menyn igen efter varje, för att hitta en som konflikterar.
  • Om du använder ett blocktema, notera att webbplatsredigerarens Navigeringsblock lagrar menydata annorlunda och inte påverkas alls av denna gräns.
  • Hanterar du en mycket stor meny (100+ objekt)? Våra guider om hur du lägger till en navigeringsmeny i WordPress och vår mega meny-handledning täcker metoder som är byggda för större menyer.

Vi hoppas att den här guiden har hjälpt dig att åtgärda gränsen för anpassade menyobjekt i WordPress. Därefter kanske du vill kolla in våra guider om felsökning av WordPress-fel eller förbättring av WordPress-prestanda.

Avslöjande: Vårt innehåll stöds av läsarna. Det betyder att om du klickar på några av våra länkar kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt och hur du kan stödja oss. Här är vår redaktionella process.

Det ultimata WordPress-verktyget

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som alla proffs bör ha!

Läsarnas interaktioner

80 kommentarerLämna ett svar

  1. Hej! Jag använder delad hosting. Det är därför jag inte har root-åtkomst för att redigera phpi.ni-filen. Hur kan jag lösa problemet?

  2. Hej

    Utseende -> Meny ->vid klick-> omdirigerar till -> 404-sida

    Jag har lagt till några huvudmenyer och kategorier på min webbplats. efter en tid kunde jag inte öppna menyn för att ändra eller ta bort något. min webbplats omdirigeras till en 404-sida. Jag har provat många koder men inget fungerar. Vänligen hjälp mig

  3. Jag stötte på samma problem... men jag är på localhost... så jag har ingen att be om hjälp! (Windows 10/XAMPP/WP4.8). Ny på WP, vet inte ens var jag hittar php.ini! Min "snabblösning" var att ta bort några mindre viktiga undermenyalternativ. Men jag vill lägga tillbaka dem alla. Kollade minnesökningen som nämndes ovan, men den är gammal. Kanske fungerar inte på WP4.8. Inte värt risken!

  4. Hej.

    Tack för den bra informationen. Jag löste äntligen problemet på GoDaddy-hosting genom att skapa en ph5.ini-fil i Webroot med följande information:

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

    löste problemet efter att kundtjänst återställt databasen, något jag inte kunde göra. Hoppas detta hjälper.

  5. Hej, tack för detta

    Jag kör och hade det här problemet. Jag hade en lång meny och vissa dagar minskade den till endast 50 rader. Temasupporten skickade till det här ämnet. Jag hade provat alla alternativ, men bara ett fungerade för mig även utan att kontakta hosting-supporten.

    Jag har lagt till "php_value max_input_vars 5000" (utan citattecken) i min .htaccess-fil före raden "#end of wordpress" och det löste problemet.

  6. Hej team,

    Jag använder Hostgator med Multidomain SSL.

    Jag kontrollerade inställningarna och vet inte var och hur jag ska göra.

    Jag lade till filen php.ini med koden max_input_vars=9000; och fortfarande kan jag inte lägga till menyalternativ i huvudmenyn.

    Kan någon hjälpa mig. Mycket uppskattat.

    Med vänliga hälsningar,
    -Rams

  7. Jag har det här problemet just nu, jag kontaktade värdarna som säger att de inte kan/vill öka till 5000 variabler eftersom det är en delad server, finns det någon annan lösning? är det möjligt att ha två navigeringsmenyer på samma sida, skulle detta lösa problemet, eller skulle det bara fortsätta.

    Tack på förhand, all hjälp uppskattas mycket

  8. Fantastiskt. Jag har samma problem under lång tid utan att veta varför. Frågat så många människor. Just idag löste jag mitt problem. hostGator inget behov av att ringa kundtjänstrepresentant. Vi kan göra det själva. Verkligen hjälpsamt Inga ord för att tacka

  9. Mahalo nui loa (tack så mycket)!

    Det här fungerade för en klients webbplats som ligger på Bluehost, delad hosting:
    1. Cpanel > Filhanteraren
    2. public_html > wp-admin
    3. Klicka på "Ny fil" > namnge den php.ini (om du inte redan har den här filen)
    4. Klicka på php.ini > klicka på "redigera" > klicka på "redigera" igen
    5. Klistra in: max_input_vars=5000; > Spara > KLART

    • Det fungerade i mitt fall! Du är min ängel! Fantastisk delning. Jag har haft det här problemet i 2 dagar. Tack så mycket!

      • Jag försökte,

        i .htaccess-filen:
        php_value max_input_vars 5000

        i php.ini-filen:
        max_input_vars=5000;
        upload_max_filesize = 70M;
        post_max_size = 128M;
        upload_tmp_dir = 70M;
        max_input_vars = 3000;
        memory_limit = 256M;

        i filen .user.ini:
        max_input_vars=3000;

        och testade även att placera php.ini & .user.ini i wp-admin och utanför wp-admin, inget fungerar för mig,

        genom att lägga till i .htaccess wp admin-sidan visas blank (vit).
        min hosting är

        All hjälp uppskattas. TIA

  10. Jag använder GoDaddy och php.ini-fixen fungerade inte alls för mig. Godaddy känner inte ens igen den sidan eller koden som giltig.

    När jag fick hjälp av Godaddy-personalen gav de mig en lösning.

    Jag skapade en sida i min html-mapp .user.ini (punkt-user-punkt-ini). På den sidan lade jag till koden:

    max_input_vars = 3000

    Verkar fungera hittills.

    • skapade en sida i min html-mapp .user.ini (punkt-användare-punkt-ini) -> menade du att skapa en FIL i din PUBLIC_HTML-mapp?

      Vänligen bekräfta eftersom jag har samma problem här på godaddy-servern också.
      Och jag har inte kunnat kontakta dem på en vecka.

      Jag vet inte varför det är så svårt att kontakta godaddy.

      • Akut Jag använder också Godaddy.

        Jag hittade min php.ini-fil i filhanteraren – mappen public_html INTE i php.admin och jag behövde inte heller skapa php.ini-filen.

        Godaddy verkar tro att det är ett WP-problem, och jag fick springa runt för det specifika problemet.

        De hänvisade mig till att öka min filstorleksgräns. (Inte samma lösning).

    • Denna lösning var den enda som fungerade på 1and1 hostingplattform:

      Jag skapade en sida i min html-mapp .user.ini (punkt-user-punkt-ini). På den sidan lade jag till koden:

      max_input_vars = 3000

    • Lou, vid första anblicken (och första testet) verkar det ha fungerat perfekt – tack!

      Uppdaterar om jag stöter på fler problem.

  11. Jag har stött på ett problem med att lägga till en undermeny på en WordPress-sida, den konverteras till en anpassad länk.
    Snälla hjälp mig att lösa detta fel

  12. ta bara bort wordpress ; och gå för magento bästa lösningen det fungerade för mig efter att ha försökt i 2 månader fick jag den bästa lösningen

  13. På Ubuntu VPS kunde jag fixa det genom att avkommentera och sätta högre värden enligt nedan.

    max_input_nesting_levels = 500
    max_input_vars = 5000

    Men hur som helst tack, eftersom det gav en väg mot lösningen

    • jag älskar dig man!
      Din här lösning löste också ett annat problem för mig! problemet var

      "Efter att ha sparat menyn på fliken "Redigera meny" skulle "Menyinställningar -> Temaplats" inte behålla markeringen och på fliken "Hantera platser" skulle menyplatsen tas bort."

    • Hej mannen,
      Jag kör wordpress multisite och jag har lite problem med att lägga till fler anpassade fält på min webbplats, jag har provat allt som inte hjälpte och jag såg ditt svar om att öka max_input_nesting_levels = 500. Jag försöker öka det värdet på VPS med Ubuntu 16.04 i PHP.Ini-filen men utan framgång. info.php visar fortfarande max_input_nesting_levels = 64. Jag uppskattar om du kan berätta hur du ökade det här värdet, oavsett om det var via PHP.ini-filen eller via htaccess-filen?

      Mvh,

  14. HostGator-vänner – Samma problem & Detta löste det:

    1. Cpanel > Filhanterare

    2. public_html > wp-admin

    3. Klicka på "Ny fil" > namnge den php.ini (om du inte redan har den här filen)

    4. Klicka på php.ini > klicka på "redigera" > klicka på "redigera" igen

    5. Klistra in: max_input_vars=5000; > Spara > KLART

    • Hej,

      Min webbplats är hostad på godaddy. Jag skapade php.ini i wp-admin och klistrade in den enda raden max_input_vars=5000;

      Kunde fortfarande inte lägga till fler menyer.

    • Tack för förslagen. Jag följde ditt förslag och lade till php.ini-filen med max_input_vars=5000; och det löste mitt problem. Tack än en gång

    • 1 – Skapa en textfil
      2 – Lägg till detta i den ” max_input_vars=5000; ” (utan citattecken
      3 – Spara som php.ini
      4 – FTP:a in i public_html > wp-admin

      PERFEKT
      Tack!!!

    • Samma problem på min webbplats

      Min webbplats hostas på HostGator. Jag lade till filen php.ini i /wp-admin men det fungerar inte för mig. Snälla hjälp mig.

  15. Jag har också det här problemet. Jag hänvisades till den här webbplatsen av en tekniker på Studio Press. Jag har ett delat hostingkonto hos Host Gator. De har ökat min max_input_vars till 7000, eftersom jag inte kom någon vart med 3000 eller 5000. Jag skapade en php.ini med era rekommendationer i min wp-admin. Fortfarande ingen lycka. Behöver jag ta bort php.ini i min publika mapp, eftersom jag skapade en i wp-admin? Jag försöker så hårt att lösa detta. Tack så mycket.

  16. Eftersom jag har delad hosting fungerade det inte för mig att lägga php.ini i rotmappen. Men att lägga den i wp-admin-mappen fungerade. Jag tror att detta beror på att nav-menus.php-filen ligger i wp-admin-mappen.

  17. Hej alla, ... ja, jag stötte också på detta menyproblem/problem ... och får jag säga YIKES!!! Någonstans mellan 50 och 100 sidor, det sista objektet jag lade till i menyn sparkades ut, och/eller föll av huvudmeny-navigeringen! Va?!!!

    Nybörjare, och andra nördar likaså, vet detta om det (problemet) ... och jag talar bara för mitt eget fall, även om jag gör det i hopp om att någon som upplever samma mardröm kan ha nytta av det ... så här kör vi.

    Med 'delad hosting' som använder HostGator... kommer det inte att finnas någon 'suhosin', vilket tydligen är en patch/program etcetera för skriptfel med php avsedd att skydda 'servrar' enligt en HostGator-representant, ... nu, trots denna detalj, fortsätter vi ... vad som var viktigt i mitt fall, ... att jag äntligen fick min HostGator-person, person #3 att förstå, genom allt mitt prat om problemet, var delen om 'max_input_vars = 3000'.

    Min HostGator-representant satte mig i väntan, undersökte problemet och fastställde att 'max_input_vars = 3000' behövde läggas till i php.ini-filen, ... som bara HostGator har tillgång till, ... inte php.ini-filen som finns i vår/vår 'hem' eller 'rot' katalog, som jag/vi alla har tillgång till, via våra konton hos HostGator eller andra hosting-leverantörer, genom att använda CPanel som vi ofta kallar denna åtkomstpunkt.

    Denna php.ini-fil är på inget sätt tillgänglig via internet för mig, eller oss, som kontoinnehavare med åtkomst till hostingkontot, fattar ni? Bra, och bra att veta.

    Nu, vad jag gjorde, var att ta vad Alex, precis under det här inlägget, sa att göra, och jag lade dessa rader text/kod i en php.ini-fil som jag sedan placerade i mitt public_html-filområde, inuti min 'wp-admin'-mapp, för den domän jag arbetade med. Under en tid trodde jag att den här 'lösningen' fungerade, sedan idag, när jag lade till fler sidor och 'åh glädje' föll de huvudsakliga navigeringsmenyobjekten av raden, herregud!!

    Tillbaka in i problemet gick jag, granskade hela detta inlägg och tråden ‘Coretrac Ticket’ igen, vilket är lite över min nivå, men ändå var jag flitig och beslutsam. Och sedan tillbaka in i striden med HostGator-folket för pow-wow #2, slutförde det samtalet och var tvungen att gå tillbaka in, med person #3 som var charmen.

    Slutligen, vad jag lärde mig är att det som ‘max_input_vars = 3000’ refererar till är hur många sidor din installation/domän/WordPress kan ha, ‘3000’ betyder sidor. Min HostGator-representant angav 5000 sidor.

    Så, jag lade till två nya testsidor direkt med honom fortfarande i telefonen och vi rapporterade 'glädje'! Yay! Jag borde nu också kunna lägga till sidor hur mycket jag vill! Må du också uppleva WordPress-GLÄDJE!

    Hälsningar,
    Gadget

    • Problemet löstes med php.ini-filen i wp-admin-mappen med följande rad på HostGator delad hosting-konto.

      max_input_vars = 9000;

      Tack

  18. Skapa en php.ini-fil men inte i roten! ( public_html )
    i "wp-admin"-mappen och lägg sedan till:

    max_input_vars = 3000;

    Jag har också :
    upload_max_filesize = 70M;
    post_max_size = 128M;
    upload_tmp_dir = 70M;
    max_input_vars = 3000;
    memory_limit = 256M;

  19. Hej Tack för detta bra tips! Jag hade samma problem med UberMenu. Nu har jag lagt till php_value max_input_vars 5000 i min .htaccess-fil och det löste problemet.

  20. Jag har provat några saker utan framgång. Jag lät min värd göra dessa PHP-konfigurationsändringar. Jag aktiverade också Memory Bump-pluginet och tog sedan bort det som föreslagits av andra.

    Mitt tema (Twenty Ten) stöder bara en meny. Jag kan skapa en annan meny och göra ändringar där utan problem. Jag har en live-webbplats så jag är lite begränsad när det gäller mängden experiment jag kan göra.

    Några andra idéer? Jag provar vad som helst just nu.

  21. Matts förslag fungerade för mig också, eftersom jag inte kör suhosin.

    lagts till:
    max_input_vars = 5000
    i min php.ini-fil

  22. Jag har samma problem, och Memory Bump Plugin löste det inte.

    Jag kontaktade min webbhotell, och de sa att jag ännu inte har en php.ini-fil och att jag måste skapa den, eller att WP måste skapa den åt mig...

    Hur gör jag detta?

  23. Det verkar som om en enkel lösning vore att WP ajax-funktionaliteten utvärderar antalet objekt i listan och delar upp det i flera sekventiella förfrågningar istället för en stor förfrågan.

    Det är konstigt för mig att wordpress-teamet inte tänkte på detta i förväg, men jag antar att plattformen är så robust att de helt enkelt har för mycket på sin tallrik. Jag kanske gör det själv, men naturligtvis måste jag göra det på ett sätt som inte skrivs över av framtida uppdateringar. Vilket besvär!

  24. Jag är i samma situation som Mat Lipe. Jag hade problem eftersom min server inte har suhosin installerat. Jag kunde lösa problemet genom att lägga till direktivet som Mat postade i min php.ini-fil. Tack.

  25. Jag stötte precis på samma problem och efter dagar av mejl fram och tillbaka med webbhotellsupporten, har det äntligen lösts!

    De gjorde följande ändringar:

    De lade till max_input_vars = 5000 i php.ini

    Det är allt, och nu fungerar det som en charm och jag lägger till sidor hur mycket jag vill.

  26. Hej,

    Min server kör inte suhosin så jag kunde lösa problemet genom att lägga till detta i min php.ini-fil och starta om min server.

    max_input_vars = 5000

    Hoppas detta hjälper någon annan där ute med samma problem

  27. Tack för detta.

    Jag upplevde detta för ganska länge sedan och trodde att det hade något att göra med minnesallokeringen.

    Jag kunde så småningom lägga till fler menyer efter att ha aktiverat Memory Bump Plugin ( http://wordpress.org/extend/plugins/memory-bump/ ) från WordPressdotorg

    Jag inaktiverade pluginet efteråt.

    Var snabbt och enkelt utan att krångla med någon kod.

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt vår kommentarpolicy, och din e-postadress kommer INTE att publiceras. Använd INTE nyckelord i namn fältet. Låt oss ha en personlig och meningsfull konversation.