Binnen WordPress kunnen menu’s eenvoudig aangemaakt en beheert worden. Bij grotere menu’s kunnen er echter problemen ontstaan. Menu’s worden soms niet meer goed opgeslagen of het aantal menu items is beperkt. Binnen het WordPress forum zijn hier verschillende topics over te vinden:
Dit probleem wordt veroorzaakt door de Suhosin module van PHP. Deze module beschermt servers tegen onveilig gebruik van PHP. Dit doet Suhosin onder andere door verschillende beperkingen te activeren.
Eén van de beperking is het aantal ‘post’ en ‘request’ variabelen. WordPress werkt met deze variabelen om menu’s op te slaan. Een minder handige constructie omdat je tegen limieten van bijvoorbeeld Suhosin kunt aanlopen.
Gelukkig kunnen de limieten in veel gevallen verhoogd worden. Vaak moet dit uitgevoerd worden door de hosting partij. Als je echter zelf een server beheert dan kun je dit ook eenvoudig zelf doen. Ik wil graag dat deze limieten per directory in een .htacces bestand geconfigureerd kunnen worden.
Hiervoor heb ik de volgende wijziging doorgevoerd in het “suhosin.ini” configuratie bestand:
nano /etc/php5/apache2/conf.d/suhosin.ini
Vervolgens heb ik de volgende regel gewijzigd van:
suhosin.perdir = "0"
naar:
suhosin.perdir = "pr"
De ‘p’ en ‘r’ karakters geven aan dat ‘post’ en de ‘request’ configuratie instellingen per map zijn in te stellen. Dit onderdeel van Suhosin is niet goed gedocumenteerd, maar in de broncode van de Suhosin bibliotheek is de werking hiervan eenvoudig te raadplegen.
Vervolgens kunnen we het volgende opnemen in het .htaccess bestand om groter menu’s te kunnen beheren binnen WordPress:
# BEGIN PHP
<IfModule mod_php5.c>
php_value suhosin.post.max_vars 2048
php_value suhosin.request.max_vars 2048
</IfModule>
# END PHP
Meer informatie: