Zwischendurch mal wieder ein PHP-relevanter Beitrag, der dann für Wordpress-Nutzer (die selbst hosten) interessant ist.Gestern kam ich ja auf die wahnwitzige Idee, den zugrunde liegenden Ubuntu-Server von 9.04 auf 10.04 LTS zu aktualisieren. Zur Aktualisierungsmaßnahme gehörte dann aber auch, dass ich von dem für mich etwas sperrig anmutenden Zend-Server weg und wieder auf eine schlankere PHP-Basis umschwenken wollte. Dies tat ich auch. Dabei installierte ich PHP-FPM (http://php-fpm.org/), welches sich mit Ubuntu 10.04 auch wesentlich einfacher einrichten ließ (habe ich schon auf einem anderen Server erfolgreich erprobt). Der Vorteil bei FPM ist, dass damit umständliche CGI-Serverumgebungen vermieden werden und die PHP-Prozesse gekapselt laufen (also kein mod_php oder sonstwie tief in den Webserver verankerte Lösungen).
Da $comments_by_type bei Wordpress mittlerweile nicht mehr so funktioniert, wie es sollte, musste ich mir für ein Theme etwas anderes überlegen, wie ich nach Kommentaren, Pings und Tweets filtern und sortieren kann. Ausgangsbasis ist die unter Wordpress Codex geschilderte Funktion wp_list_comments() und die Möglichkeit, dadurch eine Kommentarliste eines bestimmten Typs anzeigen zu lassen. ((Infos zum Template-Tag im Codex hier)) Voraussetzung ist daher, dass man sich mit Theme-Development in Wordpress auskennt! Ich musste leider zwei unangenehme Dinge feststellen:Die Variable $comments_by_type scheint nicht mehr zu existieren, die alternative Variante im Kommentar auf sivel.net hab ich erst gar nicht probiert, da sie im Codex nicht dokumentiert scheint und es also eher experimentiell wäre. Das Zählen nach Typen funktioniert nicht, sondern die Standardfunktion gibt nur die Summe aller Typen zurück.Nun gibt es zumindest für die Zählproblematik bereits einige Lösungen, aber das saubere Trennen ist damit nicht automatisch gelöst. Denn: die obige if-Abfrage lässt meinen Codeblock nicht ausblenden oder nicht anzeigen (hängt davon ab, ob Verneinung drin oder nicht, es gibt im Netzt BEIDE Varianten). Nämlich egal ob Kommentare vorhanden sind oder nicht, $comments_by_type bleibt für jeden Typ IMMER leer. Ergo: nutzloses Zeug! Nun habe ich mal durch Debugging herausgefunden, was denn die $comments so enthält, und prompt viel mir auf, wie des Rätsels Lösung ist, und zwar für beide Probleme gleichzeitig! Im Array $comments sind alle Kommentare jeglichen Typs hinterlegt, und das ist cool. Damit kann ...
Wordpress on steroids Folgender Artikel ist etwas für technisch interessierte Leser. Ich schildere hier meine Erfahrung mit dem Webserver nginx, dem FCGI-Dienst spawn-cgi und einem darauf laufenden Wordpress.




