WordPress und die geplanten Artikel

Ich entschuldige mich schon mal im voraus, WordPress hat mich die letzten Tage ganz erheblich aufgeregt! Deshalb muss ich jetzt leider mal was drauf hauen, damit es mir besser geht! :) Ausgangsproblem ist, das WordPress geplante Artikel mal veröffentlicht, mal nicht. Werden sie nicht veröffentlicht, zeigt es im Backend an (mit feiner roter Schrift in feinem bold übrigens) das der Artikel seit x Minuten geplant aber nicht veröffentlicht ist. Auf die Idee das man an der Stelle den Artikel dann auch mal veröffentlichen könnte kommt WordPress nicht.

Das dumme an der Sache ist, das ich ab und nicht da bin / keine Zeit hab und mir gedacht habe: schreibst du halt Artikel im voraus. Scheisse ist! Es ist nicht so gut wenn das nicht geht, und wenn ich dann mal nachsehe, ich 10 unveröffentlichte Artikel im Backend sitzen habe!

Wie veröffentlicht WordPress geplante Artikel!

Kurze Antwort: auf die sinnloseste Art und Weise! Lange Antwort: Mittels des Plugins Crontrol (sehr zu empfehlen übrigens) habe ich festgestellt das WordPress an der Stelle einen ziemlich bedenkenswerten Konstrukt einsetzt: Wenn man einen Artikel plant, wird er in die Datenbank eingetragen mit einem Flag. Zusätzlich wird ein Cron-Eintrag erstellt, der zum Veröffentlichungszeitpunkt dieses Flag ändert. Jeder der schon mal mit WordPress gearbeitet hat weiss, das der dort implementierte Cron ein Arschloch ist nicht so gut funktioniert. Cron wird ab und an nicht ausgeführt (und der Job in manchen Fällen noch nicht einmal generiert), daraus folgt dann: keine Veröffentlichung der geplanten News – lustigerweise auch nicht zu einem verspäteten Zeitpunkt!

Wie machen andere Systeme das?

Ehrlich gesagt habe ich es überhaupt noch nicht gesehen, das ein System bei geplanten Artikeln den Umweg über ein Cron geht! Stattdessen wird in fast allen Fällen der Timestamp in der SQL-Query bei der Auswahl der anzuzeigenden Artikel verwendet. Ich weiss nicht wieso WordPress das so macht, ich tippe an dieser Stelle aber mal auf einen Härtefall in Sachen Abwärtskompatibilität. „Früher“ als der Cron noch jung und schön war, und regelmäßig seine Arbeit verrichtete, hat das Ganze sicherlich gut funktioniert.

Was macht man dagegen?

Hardcore-Lösung? Kleines Skript einsetzen das mittels Cron den Timeflag der Artikel überprüft, und dann auf Gedeih und Verderb oben genannten Flag neu setzt. Hat man zwar auch wieder ein Cron am Hals, aber immerhin gerät man nicht in den Status „Ich weiss ich hätte es veröffentlichen müssen, machs aber nicht, ich sags dir lieber“.  Und jetzt wirds richtig lustig:

Das Problem ist bekannt, es gibt ein fertiges Plugin dafür, nämlich hier! In der FAQ des Plugins stehen einige Tipps was zu tun ist, wenn WordPress an dieser Stelle scheisse baut vorsieht, das es Artikel (mit Sicherheit aus wichtigem Grund) nicht veröffentlicht. Das Plugin packt euch übrigens eine Kommentarzeile in den Quelltext eures HTML. Mit den Tipps aus der FAQ und dem Plugin an sich scheint es jetzt so, das WordPress sich dazu geneigt sieht, Artikel wie geplant zu veröffentlichen!

5 Antworten auf „WordPress und die geplanten Artikel“

  1. Pingback: Linkhub – Woche 24-2011 | PehBehBeh
  2. Ein Grund warum WordPress das per Cron macht könnten Track- und Pingbacks sein, die ja auch erst bei der Veröffentlichung geschickt werden sollen…?

  3. soweit ich weiß sind die Pings und die Trackbacks der Grund, dass die geplanten Artikel per Cron gesteuert sind – der je nach Webspace tut oder nicht – also bei 1%1 tut er nie ;)

    war früher – in einer -wasweißichwannuraltVersion-von WP ja mal anders,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.