Zauważyłem chwilę temu, że próba wysłania komentarza na blogu kończyła się wyświetleniem pustej strony wp-comments-post.php (tak zwany blank page). Powodowało to również “zgubienie” komentarza. Wszystkich, którzy próbowali napisać komentarz a spotkało ich coś tak niemiłego mocno przepraszam.
Przeszukałem google (“wp-comments-post.php blank page“) i znalazłem dowód na to, że problem jest bardzo powszechny. Rozwiązań było wiele (niektóre podobno skuteczne), jednak więcej było komentarzy “ale u mnie to nie działa”. Rozpocząłem poszukiwania na własną rękę. Trudno mi w tej chwili powiedzieć, co spowodowało problem (przecież jakiś czas temu działało). Okazuje się, że wina leży po stronie używanego “tematu” (ang. theme).
Formularz do wysyłania komentarza zawiera ukryte pole, którego zadaniem jest przekazanie numeru postu, którego dotyczy komentarz. W kodzie, w pliku comments.php (w katalogu danego tematu) linia odpowiedzialna za dodawanie tego pola jest postaci:
Okazuje się, że zmienna $id nie zawiera numeru posta, a numer komentarza (tu zapewne przy którejś aktualizacji nastąpiła zmiana nazewnictwa w silniku co spowodowało zmianę zawartości zmiennej). Linię tą należy zmodyfikować w taki sposób, aby zawierała odpowiedni numer id:
Po tej zmianie komentarze na pewno będą działać.
Pozdrawiam i jeszcze raz przepraszam poszkodowanych.