1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Plugin nur bei der ersten Veröffentlichung durchlaufen?

Dieses Thema im Forum "Plugin-Vorstellung" wurde erstellt von guest_182, 22. August 2009.

  1. guest_182

    guest_182 Member

    Registriert seit:
    10. Februar 2007
    Beiträge:
    17
    Zustimmungen:
    0
    hi, ich schreibe ein plugin, das nur dann durchlaufen werden soll, wenn ein artikel das erste mal veröffentlicht wird. ich benutze

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    das hat ja aber zur folge, dass das plugin auch dann aufgerufen wird, wenn der artikel bereits veröffentlicht wurde und dann noch einmal editiert wird. wie kann ich das umgehen?
     
  2. guest_182

    guest_182 Member

    Registriert seit:
    10. Februar 2007
    Beiträge:
    17
    Zustimmungen:
    0
    solange keine antwort kommt, mach ich mal noch ein bisschen alleine weiter ... :mrgreen:

    das plugin sieht jetzt so aus:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    ich vergleiche also die aktuelle zeit mit dem zeitpunkt, zu dem der artikel veröffentlicht wurde. stimmen die beiden überein, ist davon auszugehen, dass der artikel gerade zum ersten mal veröffentlicht wurde und das plugin wird durchlaufen.

    es hat so bei mir auf jeden fall funktioniert, allerdings hab ich keine ahnung, wie fehleranfällig diese variante ist. (kann zb eine langsame skript-ausführung zu unterschiedlichen zeiten führen?) außerdem hat es nicht funktiort, als der veröffentlichungszeitpunkt in der zukunft lag.

    wenn also jemand eine bessere lösung hat - immer her damit!!! :)
     
    #2 guest_182, 22. August 2009
    Zuletzt bearbeitet: 23. August 2009
  3. guest_182

    guest_182 Member

    Registriert seit:
    10. Februar 2007
    Beiträge:
    17
    Zustimmungen:
    0
    dann will ich mal noch ein drittes mal den alleinunterhalter geben:

    nach ausgiebigen tests durfte ich feststellen, dass der vergleich von post-zeitpunkt und aktueller uhrzeit problemlos funktioniert. weil sich aber die in wordpress eingestellte zeitzone von der systemzeit des servers unterscheiden kann, vergleiche ich nun die gmt-varianten.

    der vorteil des zeitvergleichs gegenüber anderen methoden, zu überprüfen, ob der artikel gerade zum ersten mal veröffentlicht wird, ist, dass der zeitvergleich unabhängig von der art und weise funktioniert, wie ein artikel gepostet wird. diese variante funktioniert also auch, wenn ein artikel per email, xml-rpc oder sonst wie veröffentlicht wird. bei vielen methoden, die ich gesehen habe, ist das nicht der fall - etwa bei der überprüfung von $_POST['...']-variablen, die eben nur dann vorhanden sind, wenn man aus dem admin-bereich heraus bloggt.

    einziges problem weiterhin: vorterminierte artikel (post_status = future) fallen durch diesen vergleich durch. deshalb verwende ich für sie nun "future_to_publish". und es funktioniert. :cool:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    weiterhin bin ich natürlich auf verbesserungsvorschläge oder alternative methoden gespannt. also immer her damit.
     
  4. Diluvian

    Diluvian Member

    Registriert seit:
    4. September 2009
    Beiträge:
    9
    Zustimmungen:
    0
    Was möchtest du eigentlich genau an deinem Beitrag das erste mal ändern?

    Ich bin selbst kein Profi aber wenn ich überprüfen möchte, ob ein Beitrag schonmal das erste mal durchloffen ist, durch deine Funktion, würde ich eine Spalte in der Datenbank dazu anlegen "Checked" oder so. Diese ist standardmäßig FALSE.

    Bei dem aufruf deiner Funktion kannst du dann einfach überprüfen ob dein Beitrag schon Checked ist, wenn nicht soll es deine Funktion ausführen, ansonsten überspringen...

    Jedoch ist es natürlich erstmal wichtig was du mit der Funktion erreichen willst, ob es vllt. nicht sinnvoll wäre VOR dem eintrag in der Datenbank den Inhalt schon zu editieren und ihn so in die Datenbank zu speichern ohne danach immer überprüfen zu müssen ob es schon geändert ist..
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden