Co zrobić gdy nie da się zapisać zmian w menu?

Menu WordPress
WordPress posiada całkiem sprawnie działający mechanizm zarządzania menu na stronie, dzięki któremu stworzenie przyjaznej nawigacji nie stanowi większego problemu. Mechanizm ten nie jest jednak wolny od wad – zauważyli to zresztą sami twórcy, którzy zapowiedzieli, że ulegnie on znaczącym modyfikacjom w WordPressie 3.6. Jednymi z najczęściej pojawiających się problemów są kłopoty z zapisaniem zmian w menu, które na szczęście w większości przypadków są łatwe do rozwiązania.

Często występującym problemem jest brak możliwości zapisania zmian po osiągnięciu pewnej (różnej w każdym przypadku) liczby pozycji w menu. W większości przypadków przypadłość ta jest związana z zainstalowanym na serwerze modułem Suhosin, służącym do poprawy bezpieczeństwa aplikacji napisanych w języku PHP. Osoby zainteresowane technicznym opisem problemu odsyłam do tego zgłoszenia. Rozwiązanie jest stosunkowo proste – wystarczy zmienić wartości parametrów suhosin.post.max_varssuhosin.request.max_vars na na przykład 5000. Najprostszą metodą jest poproszenie o modyfikację administratora naszego serwera, ale w sporej części przypadków możemy to zrobić sami dodając do pliku .htaccess (znajduje się w katalogu głównym WordPressa) dwie linijki:

php_value suhosin.post.max_vars 5000
php_value suhosin.request.max_vars 5000

Jeśli ten sposób nie poskutkuje, to nie mamy innego wyjścia jak zwrócić się o pomoc do naszej firmy hostingowej.

Drugą, nieco rzadziej występującą, przyczyną problemów z zapisaniem zmian w menu jest… zbyt długa nazwa katalogu, w którym znajduje się używany przez nas szablon. Wiem, że brzmi to niewiarygodnie, ale niestety to prawda. Nie zagłębiając się w techniczne aspekty powiem tylko, że nazwa katalogu szablonu może mieć maksymalnie 53 znaki. Jeśli jest ona dłuższa, to zostanie przekroczona maksymalna długość pola w bazie danych i zmiany nie zostaną zapisane. Jedynym rozwiązaniem tego problemu jest zmiana nazwy katalogu na krótszą i ponowna aktywacja motywu.
Ważna uwaga: twórcy WordPressa częściowo rozwiązali ten problem w wersji 3.5, gdzie próba aktywacji szablonu znajdującego się w katalogu o zbyt długiej nazwie spowoduje wyświetlenie komunikatu o błędzie. Jeśli jednak szablon został aktywowany we wcześniejszej wersji WordPressa, to problem wciąż może występować.

Bezpośredni link