Zaledwie kilka dni temu jeden z naszych użytkowników zgłosił nietypowy problem. Problem polegał na tym, że osiągnął limit niestandardowych elementów menu. Wszystko, co zapisał po osiągnięciu limitu elementów menu, nie zostało zapisane. Nigdy nie słyszeliśmy o tym problemie, więc postanowiliśmy spróbować na naszej lokalnej instalacji. Utworzyliśmy ponad 200 elementów menu i zapisaliśmy je. Działało bez zarzutu. Przenieśliśmy 100 elementów do menu rozwijanego i to również zostało zapisane bez problemu. W tym momencie wiedzieliśmy, że ma to coś wspólnego z serwerem. Po dalszych badaniach okazało się, że wiele innych osób miało ten sam problem. Zagłębiając się nieco głębiej, znaleźliśmy zgłoszenie w systemie trac (#14134), które podkreślało ten problem. Po przeczytaniu bardzo, bardzo długiego zgłoszenia w systemie trac, wydaje się, że problem nie został jeszcze naprawiony, ale istnieje obejście dla tych, którzy mają ten problem. W tym artykule pokażemy, jak naprawić limit niestandardowych elementów menu w WordPress.
Aby rozwiązać problem, musisz edytować plik PHP.ini. Jeśli korzystasz z serwera dedykowanego lub VPS z dostępem do roota, powinieneś już wiedzieć, o czym mówimy. Jeśli korzystasz z hostingu współdzielonego lub nie wiesz, gdzie znajduje się plik PHP.ini, poproś swojego dostawcę hostingu internetowego o wykonanie tej czynności.
Musisz poprosić ich o ustawienie następujących wartości w konfiguracji PHP.ini:
suhosin.post.max_vars = 5000 suhosin.request.max_vars = 5000
Inny użytkownik „ronnieg” opublikował obejście, które ma dla swojej dużej (ponad 450 stron i wciąż rosnącej) strony o nieruchomościach i menu. Możesz przeczytać jego odpowiedź, aby śledzić. (Uwaga: jeszcze tego nie wypróbowaliśmy)
Wyjaśnienie problemu
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 to projekt open-source (dobrowolny), a zespół rdzeniowy robi wszystko, co w ich mocy, aby go codziennie ulepszać. Zostanie to naprawione, ale harmonogram nie jest jeszcze zdefiniowany, ponieważ mówi się „Przyszłe wydania”.
Jeśli próbowałeś czegoś innego, co rozwiązało ten problem, daj nam znać w komentarzach. Pozwoli to innym rozwiązać ich problemy, dopóki zespół programistów nie znajdzie obejścia.

Tamim
Hej! Korzystam z hostingu współdzielonego. Dlatego nie mam dostępu roota do edycji pliku phpi.ni. Jak mogę rozwiązać problem?
Wsparcie WPBeginner
Cześć Tamim,
Możesz poprosić swojego dostawcę hostingu, aby zrobił to za Ciebie.
Admin
Satya
Mam dostęp do pliku PHP.ini i zaktualizowałem go zgodnie z Twoimi wskazówkami, ale to nie działa.
Nie jestem pewien, dlaczego, co powinienem zrobić?
Maheshwaran
Cześć
Wygląd -> Menu -> po kliknięciu -> przekierowanie do -> strony 404
Dodałem kilka głównych menu i kategorii na mojej stronie. po jakimś czasie nie mogłem otworzyć menu, aby cokolwiek zmodyfikować lub usunąć. moja strona przekierowuje na stronę 404. Próbowałem wielu kodów, ale nic nie działa. Proszę o pomoc
Toni
Napotkałem ten sam problem… ale jestem na localhost… więc nie mam nikogo, kogo mógłbym poprosić o pomoc! (Windows 10/XAMPP/WP4.8). Jestem nowy w WP, nawet nie wiem, gdzie znaleźć php.ini! Moje „szybkie rozwiązanie” polegało na usunięciu kilku mniej ważnych podmenu. Ale chcę je wszystkie przywrócić. Sprawdziłem wspomniane wyżej zwiększenie pamięci, ale jest stare. Może nie działać na WP4.8. Nie warto ryzykować!
Nush
Cześć.
Dziękuję za świetne informacje. W końcu rozwiązałem problem z hostingiem GoDaddy, tworząc plik ph5.ini w Webroot z następującymi informacjami:
memory_limit = 256M;
max_execution_time = 300;
max_input_vars = 3000;
rozwiązany problem po tym, jak obsługa klienta zresetowała bazę danych, czego ja nie mogłem zrobić. Mam nadzieję, że to pomoże.
Anton
Cześć, dziękuję za to
Miałem i miałem ten problem. Miałem długie menu i pewnego dnia zmniejszyło się tylko do 50 linii. Wsparcie motywu skierowało mnie do tego tematu. Próbowałem wszystkich opcji, ale tylko jedna działa dla mnie, nawet bez kontaktu z pomocą techniczną hostingu.
Dodałem „php_value max_input_vars 5000” (bez cudzysłowów) do mojego pliku .htaccess przed linią „#koniec wordpress” i to rozwiązało problem.
Teodoz
Dziękuję Anton! Proces z plikiem .htaccess uratował moją stronę! DZIĘKI
Ajay Damraliya
Thanks bro
i was facing the same problem now its fixed.
Ramachandran
Cześć Zespole,
Używam Hostgator z Multidomain SSL.
Sprawdziłem ustawienia i nie wiem gdzie i jak to zrobić.
Dodałem plik php.ini z kodem max_input_vars=9000; i nadal nie mogę dodawać elementów menu do głównego menu.
Czy ktoś mi pomoże. Będę bardzo wdzięczny.
Z poważaniem,
-Rams
Ramachandran
Skonfigurowałem WordPress Multisite przy użyciu SSL dla wielu domen.
Dann
Mam teraz ten problem, skontaktowałem się z hostingodawcami, którzy mówią, że nie mogą/nie zwiększą do 5000 zmiennych, ponieważ jest to serwer współdzielony, czy jest jakieś inne rozwiązanie? czy możliwe jest posiadanie dwóch menu nawigacyjnych na tej samej stronie, czy to rozwiązałoby problem, czy po prostu by się powtarzał.
Z góry dziękuję, każda pomoc będzie bardzo cenna
sdkmendis
Niesamowite. Mam ten sam problem od dłuższego czasu bez pojęcia. Pytałem wielu ludzi. Dopiero dzisiaj rozwiązałem swój problem. hostGator nie ma potrzeby dzwonić do przedstawiciela centrum obsługi. Możemy to zrobić sami. Naprawdę pomocne, brak słów, żeby podziękować.
Rajit
Jaki jest maksymalny limit, jaki możemy ustawić dla tego? Wydaje mi się, że wyczerpałem również limit 5000.
Rajit
Właściwie wyczerpałem limit 8000
Renee
Mahalo nui loa (bardzo dziękuję)!
To działało dla strony klienta, która jest na Bluehost, współdzielony hosting:
1. Cpanel > File Manager
2. public_html > wp-admin
3. Kliknij „New File” > nazwij ją php.ini (jeśli nie masz jeszcze tego pliku)
4. Kliknij php.ini > kliknij „edit” > kliknij „edit” ponownie
5. Wklej: max_input_vars=5000; > Zapisz > GOTOWE
vipin
Nie działa
Anjan Phukan
Cześć Renee, uratowałaś mnie. Dziękuję bardzo.
Tan
To zadziałało w moim przypadku! Jesteś moim aniołem! Fantastyczny udostępnienie. Miałem ten problem przez 2 dni. Dziękuję bardzo!
Kelli
Renee – to zadziałało również dla mojego klienta. Dziękuję! Są hostowani przez HostGator.
Hasan
Próbowałem,
w pliku .htaccess:
php_value max_input_vars 5000
w pliku 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;
w pliku .user.ini:
max_input_vars=3000;
a także testowałem umieszczając php.ini & .user.ini w wp-admin i poza wp-admin, nic mi nie działało,
po dodaniu w .htaccess strona wp admin pokazuje pustą (białą).
mój hosting to
każda pomoc mile widziana. TIA
Lou Comunale
Używam GoDaddy i poprawka php.ini w ogóle mi nie pomogła. Godaddy nawet nie rozpoznaje tej strony ani kodu jako prawidłowy.
Uzyskując pomoc od ludzi z GoDaddy, zapewnili mi obejście problemu.
Utworzyłem stronę w moim folderze html .user.ini (kropka-user-kropka-ini). Na tej stronie dodałem kod:
max_input_vars = 3000
Na razie działa.
Akut Wibowo
utworzyłem stronę w moim folderze html .user.ini (kropka-user-kropka-ini) -> czy miałeś na myśli utworzenie PLIKU w swoim folderze PUBLIC_HTML?
Proszę o potwierdzenie, ponieważ mam ten sam problem tutaj na serwerze godaddy.
I nie mogę się z nimi skontaktować od tygodnia.
Nie wiem, dlaczego tak trudno skontaktować się z godaddy.
Gabriel
Akut Ja też używam Godaddy.
Znalazłem swój plik php.ini w menedżerze plików – folderze public_html, NIE w php.admin, ani nie musiałem tworzyć pliku php.ini.
Godaddy wydaje się uważać, że jest to problem z WP, i zostałem zbyty w tej konkretnej sprawie.
Skierowali mnie do zwiększenia limitu rozmiaru pliku. (Nie to samo rozwiązanie).
Ken
To rozwiązanie było jedynym, które działało na platformie hostingowej 1and1:
Utworzyłem stronę w moim folderze html .user.ini (kropka-user-kropka-ini). Na tej stronie dodałem kod:
max_input_vars = 3000
Hunor
Dziękuję! To zadziałało również dla mnie (chociaż nie jest hostowane przez goDaddy).
Dziękuję
Dziękuję, to zadziałało dla mnie.
Anjan Phukan
Lou, u mnie zadziałało. Dziękuję bardzo.
Brock Reinhart
Lou, na pierwszy rzut oka (i pierwszy test) wydaje się, że zadziałało idealnie – dziękuję!
Zaktualizuję, jeśli napotkam więcej problemów.
Jay Patal
Mam problem z dodaniem podmenu na stronie WordPress, konwertuje się ono na niestandardowy link.
Proszę o pomoc w rozwiązaniu tego błędu
chandani
Dzięki…. działa idealnie.
mahesh
po prostu usuń wordpress ; i przejdź na magento najlepsze rozwiązanie zadziałało u mnie po 2 miesiącach prób znalazłem najlepsze rozwiązanie
WajhuAllah Arif Hussain
Na Ubuntu VPS udało mi się to naprawić, odkomentowując i ustawiając wyższe wartości, jak poniżej.
max_input_nesting_levels = 500
max_input_vars = 5000
Ale tak czy inaczej dzięki, bo to dało drogę do rozwiązania
Sumon
Dzięki, to też zadziałało.
tanveer
Kocham cię, stary!
Twoje rozwiązanie rozwiązało również inny mój problem! problemem było
„Po zapisaniu menu w zakładce „Edytuj menu” opcja „Ustawienia menu -> Lokalizacja motywu” nie zachowywała zaznaczenia, a w zakładce „Zarządzaj lokalizacjami” lokalizacja menu była usuwana.”
Jony
Cześć człowieku,
Używam wordpress multisite i mam problem z dodaniem większej liczby niestandardowych pól do mojej strony, próbowałem wszystkiego i nic nie pomogło, a ja widziałem twoją odpowiedź na temat zwiększenia max_input_nesting_levels = 500. Próbuję zwiększyć tę wartość na VPS z Ubuntu 16.04 w pliku PHP.Ini, ale bez powodzenia. plik info.php nadal pokazuje max_input_nesting_levels = 64. Będę wdzięczny, jeśli powiesz mi, jak zwiększyłeś tę wartość, czy to przez plik PHP.ini, czy przez plik htaccess?
Pozdrawiam,
Alejandro
Thanks a lot, it wordked for my very long menu!!
Mino Taur
Przyjaciele z HostGator – Ten sam problem & To go rozwiązało:
1. Cpanel > Menedżer plików
2. public_html > wp-admin
3. Kliknij „Nowy plik” > nazwij go php.ini (jeśli nie masz jeszcze tego pliku)
4. Kliknij php.ini > kliknij „edytuj” > kliknij ponownie „edytuj”
5. Wklej: max_input_vars=5000; > Zapisz > GOTOWE
Yannis
Naprawdę świetna poprawka. Dzięki!
Rajit
Cześć,
Mój serwis jest hostowany na godaddy. Utworzyłem php.ini w wp-admin i wkleiłem jedną linię max_input_vars=5000;
Nadal nie mogłem dodać więcej menu.
Sangam KR
Dzięki za sugestie. Postępowałem zgodnie z Twoją sugestią i dodałem plik php.ini z max_input_vars=5000; i to rozwiązało mój problem. Jeszcze raz dziękuję.
Lori
1 – Utwórz plik tekstowy
2 – Wpisz tam: ” max_input_vars=5000; ” (bez cudzysłowów)
3 – Zapisz jako php.ini
4 – Połącz się przez FTP do public_html > wp-admin
PERFEKT
Dziękuję!!!
Anita
Thank You, You saved my site!
This worked for me perfectly!
Witaj Mino
Ten sam problem na mojej stronie internetowej
Moja strona jest hostowana na HostGator. Dodałem plik php.ini w /wp-admin, ale to nie działa dla mnie. Proszę pomóż mi.
Kimberly Potts
Ja również mam ten problem. Zostałem skierowany na tę stronę przez technika ze Studio Press. Mam współdzielone konto hostingowe w Host Gator. Zwiększyli moje max_input_vars do 7000, ponieważ 3000 ani 5000 nic nie dawało. Stworzyłem plik php.ini z Waszymi zaleceniami w moim wp-admin. Nadal bez powodzenia. Czy muszę usunąć plik php.ini z mojego folderu public, skoro stworzyłem jeden w wp-admin? Tak bardzo staram się to rozwiązać. Wielkie dzięki.
bedir
ALEX jesteś bohaterem. Czytałem wiele rzeczy na temat rozwiązania. DZIĘKI
Muhammad Khizer Khan
Dziękuję bardzo Alex, Jestem Ci naprawdę wdzięczny.
vijay lathiya
Dzięki za wskazówki
po zwiększeniu max_input_vars w php.ini działa.
gezginrocker
Ponieważ jestem na hostingu współdzielonym, umieszczenie pliku php.ini w folderze głównym nie zadziałało u mnie. Ale umieszczenie go w folderze wp-admin zadziałało. Myślę, że dlatego, że plik nav-menus.php znajduje się w folderze wp-admin.
Gadżet
Witam wszystkich, ... tak, ja też napotkałem ten problem/kwestię z menu ... i mogę powiedzieć YIKES!!! Gdzieś między 50 a 100 stroną, ostatni element, który umieściłem w menu, był usuwany lub wypadał z głównej nawigacji menu! Co?!!!
Nowicjusze i inni geekowie wiedzą o tym (problemie) … i mówię tylko o moim przypadku, chociaż robię to w nadziei, że ktoś, kto doświadczy tego samego koszmaru, może skorzystać … więc zaczynamy.
W przypadku „hostingu współdzielonego” korzystającego z HostGator … nie będzie „suhosin”, który jest podobno łatką/programem itp. dla błędów skryptowych w php, zaprojektowanym do ochrony „serwerów” według przedstawiciela HostGator, … teraz, niezależnie od tego szczegółu, kontynuujemy … co było ważne w moim przypadku, … że w końcu udało mi się sprawić, by mój kontakt z HostGator, osoba nr 3, zrozumiał, poprzez cały mój bełkot o problemie, była część dotycząca „max_input_vars = 3000”.
Mój przedstawiciel HostGator wstrzymał mnie, zbadał problem i ustalił, że parametr ‘max_input_vars = 3000’ musiał zostać umieszczony w pliku php.ini, … do którego dostęp ma tylko HostGator, … a nie do pliku php.ini, który znajduje się w naszym katalogu głównym/domowym, do którego wszyscy mamy dostęp, za pośrednictwem naszych kont z HostGator lub innych dostawców hostingu, używając CPanel, jak często nazywamy ten punkt dostępu.
Ten plik php.ini w żaden sposób nie jest dostępny przez internet dla mnie ani dla nas, jako posiadaczy kont z dostępem do hostingu, rozumiesz? Dobrze, i dobrze wiedzieć.
Teraz zrobiłem tak, że wziąłem to, co Alex, tuż poniżej tego posta, powiedział, abym zrobił, i umieściłem te linie tekstu/kodu w pliku php.ini, który następnie umieściłem w moim obszarze plików public_html, wewnątrz mojego folderu „wp-admin”, dla domeny, nad którą pracowałem. Przez pewien czas myślałem, że to „rozwiązanie” działa, a potem dzisiaj dodawałem więcej stron i „o radości” główne elementy nawigacji menu wypadały z linii, cholera!!
Wróciłem do problemu, ponownie przejrzałem cały ten post i wątek „Coretrac Ticket”, który jest dla mnie nieco za trudny, ale mimo to byłem sumienny i zdeterminowany. A potem znowu do ataku z ludźmi z HostGator na pogawędkę nr 2, zakończyłem tę rozmowę i musiałem wrócić, z osobą nr 3, która była urokiem.
Na koniec, czego się nauczyłem, to to, że to, do czego odnosi się „max_input_vars = 3000”, to ile stron może mieć Twoja instalacja/domena/WordPress, „3000” oznacza strony. Mój przedstawiciel HostGator ustawił 5000 stron.
Więc na miejscu dodałem dwie nowe strony testowe, gdy nadal rozmawiał przez telefon i zgłosiliśmy „radość”! Hura! Ja też teraz będę mógł dodawać strony do woli! Niech i Ty doświadczysz RADOŚCI WordPressa!
Pozdrawiam,
Gadget
Netman
Problem został rozwiązany za pomocą pliku php.ini w folderze wp-admin z następującą linią na koncie hostingowym HostGator shared.
max_input_vars = 9000;
Dzięki
Alex
Utwórz plik php.ini, ale nie w katalogu głównym! ( public_html )
w folderze “wp-admin”, a następnie dodaj:
max_input_vars = 3000;
Mam również :
upload_max_filesize = 70M;
post_max_size = 128M;
upload_tmp_dir = 70M;
max_input_vars = 3000;
memory_limit = 256M;
Jay
To zadziałało dla mnie, takie łatwe do zrobienia.
Dziękuję!
Diego
Alex, nie mogę tego zrobić..
JoAnne
DZIĘKUJĘ! DZIĘKUJĘ! DZIĘKUJĘ! Próbowałem znaleźć rozwiązanie tego problemu przez GODZINY!!! To zadziałało! Dzięki!
Maninderpreet Singh
THANKSS
Brian
Dzięki!!!
AMGil
Dziękuję Alex, próbowałem wielu rozwiązań znalezionych w Internecie i to było jedyne, które zadziałało. Ratunek!!
Deborah
Nie mogę uzyskać dostępu do żadnej edycji WordPressa po wykonaniu tego, czy powinienem usunąć drugi plik php.ini?
prateek rathore
Thanks Alex,
I have mad lots of googling for the issue and finally i got the solution you provided.
Kimberly Potts
WRESZCIE mam rozwiązanie. Po wypróbowaniu wszystkich sugestii, technik z Host Gatora dodał max_input_vars=5000; do katalogu głównego. BINGO! Teraz działa. :))
Wreszcie
Popieram to.
Jeffrey de Jongh
Cześć, dzięki za tę świetną wskazówkę! Miałem ten sam problem z UberMenu. Teraz dodałem php_value max_input_vars 5000 do mojego pliku .htaccess i to rozwiązało problem.
Alanna
Próbowałem kilku rzeczy bez powodzenia. Poprosiłem mojego hosta o wprowadzenie tych zmian w konfiguracji PHP. Aktywowałem również wtyczkę Memory Bump, a następnie ją usunąłem, zgodnie z sugestiami innych.
Mój motyw (Twenty Ten) obsługuje tylko jedno menu. Jestem w stanie stworzyć inne menu i wprowadzać tam zmiany bez problemu. Mam aktywny serwis, więc jestem trochę ograniczony pod względem ilości eksperymentów, które mogę przeprowadzić.
Jakieś inne pomysły? Spróbuję wszystkiego w tym momencie.
Bhavin
Dziękuję bardzo Mat. To zadziałało idealnie…
Matt
Sugestia Matta zadziałała również u mnie, ponieważ nie używam suhosin.
dodano:
max_input_vars = 5000
do mojego pliku php.ini
valente
Cześć, umieściłem plik Php.ini w katalogu wp-admin z opcją max_input_vars = 5000
ale to nie zadziałało, czy ten plik php musi być również w innym katalogu?
dziękuję
Wsparcie WPBeginner
upewnij się, że nazwałeś plik php.ini, a nie Php.ini
Admin
Bart
Mam ten sam problem, a wtyczka Memory Bump Plugin go nie rozwiązała.
Skontaktowałem się z moim dostawcą hostingu, a oni powiedzieli, że nie mam jeszcze pliku php.ini i muszę go utworzyć, lub WP musi go utworzyć dla mnie……
Jak mam to zrobić?
Wsparcie WPBeginner
Bart, jeśli twój serwer WWW uruchamia skrypty PHP, to z pewnością ma plik php.ini, który twój dostawca hostingu może skonfigurować, jeśli tego chce.
Admin
Zek
Wydaje się, że prostym rozwiązaniem byłoby, gdyby funkcjonalność WP ajax oceniała liczbę elementów na liście i dzieliła ją na wiele sekwencyjnych żądań zamiast jednego dużego żądania.
Dziwne, że zespół WordPressa o tym nie pomyślał wcześniej, ale myślę, że platforma jest tak rozbudowana, że po prostu mają za dużo na głowie. Mogę to zrobić sam, ale oczywiście zrobię to w sposób, który nie zostanie nadpisany przez przyszłe aktualizacje. Co za kłopot!
Larry
Jestem w tej samej sytuacji co Mat Lipe. Miałem problemy, ponieważ mój serwer nie ma zainstalowanego suhosin. Udało mi się rozwiązać problem, dodając dyrektywę, którą Mat opublikował, do mojego pliku php.ini. Dzięki.
Selma
Właśnie napotkałem ten sam problem i po dniach wymiany e-maili z pomocą techniczną hostingu, w końcu udało się go rozwiązać!
Dokonali następujących zmian:
Dodali max_input_vars = 5000 w php.ini
To wszystko i teraz działa jak marzenie, a ja dodaję strony do woli.
Piyush
Cześć SELMA,
Twoje rozwiązanie działa dla mnie
Dzięki!!!!!!!!!!
Piyush
Mat Lipe
Witam,
Mój serwer nie używa suhosin, więc udało mi się rozwiązać ten problem, dodając to do mojego pliku php.ini i restartując serwer.
max_input_vars = 5000
Mam nadzieję, że to pomoże innym z tym samym problemem
Nix
To zadziałało, dzięki!
Elyashiv
Doskonale!! działa u mnie/
Dzięki!!
Luyen Dao
Dzięki Mat! Zwariowałem, próbując dodać suhosin, a potem zdałem sobie sprawę, że nawet go nie skonfigurowałem!
Michael
Wow! Dziękuję bardzo Matt. To działa niesamowicie!!!
Dale
Dzięki za to.
Doświadczyłem tego jakiś czas temu i myślałem, że ma to związek z alokacją pamięci.
W końcu udało mi się dodać więcej menu po aktywacji wtyczki Memory Bump Plugin ( http://wordpress.org/extend/plugins/memory-bump/ ) z WordPressdotorg
Po tym zdezaktywowałem wtyczkę.
Było szybko i łatwo, bez grzebania w kodzie.