Bei meiner WordPress-Installation tritt seit etlichen Monaten ein seltsames Phänomen auf: die meisten Besucher können die Kommentare zu einem Beitrag nicht sehen, obwohl die Kommentare in der Datenbank vorhanden sind.
Das Ganze wird vollkommen mysteriös durch die Tatsache, daß diese Probleme nie auftreten, wenn mein Weblog von meinem heimischen Internet-Zugang aus besucht wird. Ich habe meine Website kürzlich von meinem Service Provider auf meinen eigenen lokalen Webserver verschoben, um diesem Phänomen eventuell leichter auf die Schliche zu kommen, aber auch diese „Übersiedlung“ hat nichts geholfen.
Mit reiner Logik ist dieses Phänomen nicht zu begreifen: entweder gibt es Anmerkungen, oder es gibt keine – unabhängig davon, welcher Besucher mit welchem Browser aus welcher Ecke des Internets auch immer das PHP-Script startet, das seinerseits wiederum die Datenbank abfragt. Sollte man meinen ;-)
Mein Weblog findet sich hier: http://www.berghofer.com/wordpress/
Ich verwende bewußt noch WordPress Version 1.5.1.3, der Webserver ist ein Apache 1.3.33 für Darwin (Mac OS X 10.4.3) mit PHP 4.3.11 und mySQL 4.0.21.
Das Problem gibt es auch dann, wenn ich die Datei „comments.php“ von anderen Themen bzw. „skins“ verwende. „comments.php“ von der WordPress-Version 2.0 bringt auch keine Abhilfe.
Hat jemand eine Idee, woran das liegen könnte?
Vermutlich verursacht die Variable „$comments“ die Probleme: mit der Abfrage „if ($comments)...“ überprüft WordPress, ob Kommentare darzustellen sind. Ich versuche gerade, die Datei „comments.php“ so zu modifizieren, daß ich „zu Fuß“ aus der Datenbank alle Kommentare lese, die zum aktuellen Beitrag gehören und anschließend die Anzahl der darzustellenden Kommentare an die Variable „$comments“ übergebe. Das funktioniert auch recht gut, nur kann ich leider aus den restlichen WordPress-Modulen nicht genau ersehen, welcher Datentyp von der Schleife „foreach ($comments as $comment)“ als „$comments“ erwartet wird. Die direkte Zuweisung des aktuell aus der Datenbank geholten Records in der Form „$comments[] = $row“ funktioniert leider nicht.
Gibt es hier vielleicht mit PHP-Programmierung vertraute Menschen, die mir in dieser speziellen Frage etwas auf die Sprünge helfen könnten?
Besten Dank,
Werner.