info@netz-gaenger.de       📞 +49 151 / 28859057

Was tun, wenn sich Menüpunkte in WordPress nicht speichern lassen?

Einige WordPress User fallen dem relativ unbekannten Menu Item Limit zum Opfer. Sie ändern ihr Menü, speichern und nix passiert. Woran das liegt und was man tun kann…

Was ist das Menu Item Limit?

Die ganz detaillierte Beschreibung des Problems findet man unter http://sevenspark.com/wordpress/menu-item-limit. Ganz grob gesagt liegt das Problem gar nicht an WordPress, sondern an der PHP Konfiguration, die eine Beschränkung bei der Aufnahme von zu verarbeitenden Variablen hat. Der Default der PHP Einstellung max_input_vars besagt, dass max. 1000 Variablen verarbeitet werden. Bei bestimmten Menügrößen kann das schon mal überschritten werden, so dass dieses Limit erhöht werden muss.

Wie erkenne ich, ob das Menu Item Limit schuld ist?

Um herauszufinden, ob die max. Anzahl an zu verarbeitenden Variablen in PHP schuld daran ist, dass die neuesten Menüpunkte nicht gespeichert werden, muss man den Debug Mode hochsetzen. Hierzu öffnet man die wp-config.php und ändert den WP_DEBUG Wert auf:

define('WP_DEBUG', true);

Anschließend erhält man z.B. folgende Nachricht:

PHP Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0, referer: http://www.seite.de/wp-admin/nav-menus.php

Wie erhöhe ich die in PHP zu verarbeitenden Variablen?

Man erhöht die max_input_vars ganz bequem über die .htaccess-Datei im root der WordPress-Installation. Hierzu folgende Zeile einfügen (der Wert ist natürlich individuell zu setzen, bei mir haben 2000 gereicht):

php_value max_input_vars 2000

Fazit: Das Menu Item Limit ist kein WP Problem, sondern eine Voreinstellung von PHP, die WP zum Verhängnis wird. Mit der beschriebenen Lösung kann man das Problem ganz einfach lösen. Hinweis: Die oben genannte Lösung geht leider nicht bei jedem Webhoster. Sollte also ein Internal Server Error anschließend auftreten, lässt der Webhoster das Ändern über die .htaccess Direktive leider nicht zu. Danke für den Hinweis Michael Oeser.

Hat dir mein Beitrag geholfen?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Letzte Version vom 5. Juli 2016 von Netzgänger

Kaffee für den Blogger...

Ich konnte dir bei einem WordPress-Problem helfen? Ich würde mich über eine kleine Kaffee-Spende freuen. :)
  • ago

    ich habe inzwischen alles getestet und dennooch wird das Menü nicht mehr gepeichert
    > Inzwischen habe ich halle genannten Angaben getestet!
    > Sind auch alle in der User.ini eingetragen ‚WP_DEBUG‘, true ist auch
    > aktiv es werden keine Fehler angezeigt!
    >
    >
    > max_input_vars = 10000
    > max_execution_time = 120
    > suhosin.post.max_vars = 5000
    > suhosin.request.max_vars = 5000

    Reply

  • Wstrubbi

    Wir haben auf unserer Webseite lediglich 27 Menüpunkte – stehe aber trotzdem vor dem Problem, dass ich keine weiteren Kategorien in das Menü einfügen kann.

    Ich habe den Wert max_input_vars auf 3000 (und versuchsweise auf 10000) gesetzt, was leider nicht geholfen hat.

    Ich konnte auch nicht die .htaccess anpassen, sondern musste dies in einer .user.ini angeben. Dadurch wird der PHP Local Value entsprechend gesetzt. Der PHP Master Value verbleibt allerdings auf 1000.

    Die suhosin Variablen werden durch meine info.php nicht ausgegeben. Somit kann ich diese Einstellungen nicht überprüfen.

    Wer hat eine Idee wie ich das lösen kann?

    Reply

  • Carsten Bornhöft

    Bei mir mit PHP 5.4 mit Plesk ging das mit diesem Eintrag in den Plesk PHP Einstellungen

    max_input_vars = 3000 suhosin.post.max_vars = 3000 suhosin.request.max_vars = 3000

    Reply

  • bernd

    Hey, also Ich öffne den FTP Server und danach die wp-config.php. In diese setze ich dann den Code ein. Danach abspeichern und gegen das alte austauschen. Die Frage ist anschließend: Wo wird die Fehlermeldung danach angezeigt?

    Wurde bei mir nirgends angezeigt.. Vielen Dank schon mal 🙂

    Reply

  • Dominique

    Reicht allein der Befehl „php_value max_input_vars 2000“ in der htaccess? oder muss noch mehr angegeben werden?

    Reply

  • Adem Oezen

    Danke, echt super. Hat Wunderbar geklappt 🙂

    Reply

  • Silvi

    Super danke für den Tipp ich war schon am verzweifeln!!!!

    Reply

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert