CForms ist an sich ein prima Plugin als Kontaktformular. Gefällt. Das ich bis dato in der Sidebar eingebaut hatte und ganz hervorragend angenommen wurde. Wie es sich aber herausgestellt hat, kauft man sich damit zwei fette Probleme ein:
1. Kommentartext weg: Einige Leser hatten sich zurecht beklagt, dass man Probleme beim Kommentieren hat. Sobald man vergisst, ein Pflichtfeld wie zB das Rechenfeld (Antispam) auszufüllen, kommt ne Fehlermeldung, dass man doch bitte das Feld X ausfüllen möge, doch beim zurückgehen ist der gesamte Kommentartext weg! Das würde auch mich zum Abkotzen bringen, wenn ich mal nen langen Kommentarbeitrag verfasst hätte und die ganze Mühe für den Arsch war.
2. Seitenaufbau lahm: Zudem ist der Seitenaufbau der Sidebar nach dem Absenden eines Kommentars monsterlahm. Das hat mich seit Beginn an unmittelbar nach der Designumstellung irritiert. Auch das ist nun aufgeklärt.
Neue Stellenangebote
Growth Marketing Manager:in – Social Media GOhiring GmbH in Homeoffice |
||
Mitarbeiter*in (m/w/d) für Social Media, Öffentlichkeitsarbeit und Städtepartnerschaft (m/w/d) meinestadt.de in Sachsenheim |
||
Journalist (m/w/d) als Leiter PR und Social-Media NOMOS Glashütte/SA Roland Schwertner KG in Berlin |
3. Ursache: soweit ist jetzt klar, dass es am CForms-Plugin liegt. Dafür ein ganz herzliches Dankeschön an MT, der mich auf die Spur gebracht hatte (und natürlich auch ein Dank an Michael Wöhrer, der mir geholfen hat, obs nicht an seinem Plugin Edit Comments liegt). Er hat herausgefunden, dass das Caching deaktiviert ist im Blog:
Und vielleicht liegt es doch an Dir, denn Du sendest folgende Header bei Aufruf der wp-comments-post.php mit:
Cache-Control: no-cache, must-revalidate, max-age=0
Pragma: no-cache
Es lag aber nicht an Einstellungen in der Header.php (eines der Templatefiles), sondern an dem Plugin CForms. Das in der Datei CForms.php folgende Anweisungen mitsendet, egal wo man sich auf dem Blog befindet:
header(„?Pragma: public“?);
header(„?Expires: 0″³);
header(„?Cache-Control: must-revalidate, post-check=0, pre-check=0″³);
header(„?Content-Type: application/force-download“?);
header(„?Content-Type: application/octet-stream“?);
header(„?Content-Type: application/download“?);
header(„?Content-Disposition: attachment; filename=“?formconfig.txt“?“);
header(„?Content-Transfer-Encoding: binary“?);
header(„?Content-Length: „? .(string)(strlen($buffer)) );
4. Gegenmaßnahme: Es reicht nicht, wenn man das Kontaktformular aus der Sidebar (wo es bei mir platziert ist und damit überall eingeblendet wird) ausbaut. Das bringt nix, denn das Plugin ist immer noch aktiv und sendet die no-cache Anweisung weiterhin. Man muss zudem das Plugin komplett deaktivieren! Sobald das Plugin deaktiviert ist, bleibt der Kommentartext erhalten, trotz Fehleingabe und der Seitenaufbau der Sidebar ist nun so wie er sein soll, zügig.
5. Lösung: Das ist natürlich keine Lösung auf Dauer, nur ein temporärer Fix. Denn, ich will das Plugin rein von der Funktionalität her behalten und weiterhin das Kontaktformular in der Sidebar anbieten. Denn dafür wurde es zu gut angenommen. Daher habe ich Oliver als Plugin-Inhaber angemailt, was man umstellen muss und wo, damit das Caching-Problem nicht auftritt und zudem das Kontaktformular dennoch funktioniert.