Support » Plugins » wp_schedule_single_event legt kein Event an

  • Hallo zusammen,

    ich baue gerade eine Cheerleading Webseite wo die Termine der aktuellen Saison angezeigt werden in den Bereichen kommende Event und vergangene Event.

    Hier für habe ich Zwei Kategorien angelegt und die Posts entsprechend zugeordnet.
    Im template habe ich die function.php angepasst da auch Events in der Zukunft direkt angezeigt werden.

    Wenn das Event vorrüber ist soll mit dem Plugin ‚Post Expirator‘ die Kategorie geändert werden. Dies würde auch funktionieren aber komischerweise wird der single Event nicht im WP Cron angelegt.

    Wenn die Funktion wp_schedule_single_event( $timestamp, $hook, array($args) ) aufgerufen wird liefert diese ein TRUE (1) zurück aber das Event wurde nicht angelegt.
    Jedenfalls wird es im Cron Manager (Advanced Cron Manager) nicht angezeigt und ist auch nicht in der options WP Tabelle für den Croneintrag.

    Es wird in sehr seltenen Fällen angelegt aber zu 99% nicht.

    Ich bin mit meinem Rat am Ende warum die WP Funktion wp_schedule_single_event den Single Event nicht anlegt und hoffe das Ihr mir hilfe bzw. Tipps geben könnt warum das Event nicht angelegt wurde. Im Plugin Forum bekommt man nicht so viel hilfe da der Entwickler nicht sehr aktiv ist und hoffe daher das man hier direkt helfen kann. Das Problem scheint seit der 5.x bzw. 5.1 zu bestehen.

    Dickes Dickes Danke schon mal für Eure Hilfe.

    Gruß,
    Torakas

Ansicht von 7 Antworten - 1 bis 7 (von insgesamt 7)
  • Trage mal folgende Zeilen in deine wp-config.php ein:

    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_DISPLAY', false );
    define( 'WP_DEBUG_LOG', true );

    Die dann von WordPress erstellte Log-Datei wird im Verzeichnis wp-content unter dem Namen debug.log gespeichert. Guck damal rein, ob du darin Hinweise findest.

    Thread-Starter torakas

    (@torakas)

    Hi,

    ich habe das in meine wp-config.php Datei eingefügt aber beim speichern des Beitrags / Posts wo dann die Verfallszeit für den Post (Post Expirator Blog) angegeben wird wo dann die neue Kategorie vom Plugin mittels Single Event angepasst werden soll.

    Bei speichern des Betrags kommt keine Meldung in WP bzw. in der debug.log Datei.
    E

    Die WP Funktion wp_schedule_single_event liefert eine 1 zurück aber das Event wurde nicht angelegt. Den Result von der Funktion lasse ich mit in die Debug Nachricht den dem Plugin schreiben. Quellcode habe ich hierfür kurzzeitig angepasst.

    Wenn ich manuell im Advanced Cron Manager Plugin das Event anlege dann geht es aber warum geht es im anderem Plugin nicht…..

    Ich habe im Quellcode von beiden Plugins geprüft und es wird bei beiden die Funktion wp_schedule_single_event mit den gleichen Parametern aufgerufen.

    Gruß,
    Torakas

    Ps. den Quellcode vom Plugin kann man unter github einsehen: https://github.com/WPPlugins/post-expirator/blob/master/post-expirator.php
    Es betrifft die Zeile 558

    Bzw. im WordPress SVN: https://plugins.svn.wordpress.org/post-expirator/trunk/post-expirator.php

    • Diese Antwort wurde geändert vor 4 Jahren, 4 Monaten von torakas.

    Puuhhh, ein Plugin, dass zwei Jahre alt ist, ist bestimmt nicht mit WordPress 5.x getestet.

    Nachtrag:

    Guck mal, hier gibt es eine neuere Version: https://de.wordpress.org/plugins/post-expirator/

    • Diese Antwort wurde geändert vor 4 Jahren, 4 Monaten von bscu.
    Thread-Starter torakas

    (@torakas)

    Genau die nutze ich (Version 2.4.0.1) mit der aktuellen WordPress Version. Dort wird das Event nicht gespeichert.

    Hat es mit Github nur verlinkt da dort die Zeilen besser dargestellt / formatiert werden.

    Das ist natürlich nicht besonders clever, uns ein Plugin-Version zu verlinken, die gar nicht benutzt wird 🙁

    Hast du mal das Debugging von dem Plugin aktiviert?

    in der post-expirator.php die 0 auf ein setzen:

    define(‚POSTEXPIRATOR_DEBUGDEFAULT‘,’1′);

    Thread-Starter torakas

    (@torakas)

    Das Debug Flag setzt nur die Funktion das bei manchen Funktionen Debug Informationen ausgegeben werden und diese in Plugin dann direkt eingesehen werden können. Die Debug Information werden in die Datenbank geschrieben.

    In der Funktion _scheduleExpiratorEvent wird das Single Event gesetzt und danach die Debuginformation in die Datenbank geschrieben. Nur leider wird das Event nicht gesetzt obwohl die Funktion wp_schedule_single_event den Wert 1 zurück gibt.

    Selbst wenn ich die Zeile anpasse und die Werte die geschrieben werden manuell eintrage

    wp_schedule_single_event(1575049920 ,'postExpiratorExpire', array(1003));

    werden diese nicht geschrieben und das Event ist nicht vorhanden ;(

    Ich denke, du solltest es besser indem Support-Forum von dem Plugin versuchen: https://wordpress.org/support/plugin/post-expirator/

Ansicht von 7 Antworten - 1 bis 7 (von insgesamt 7)
  • Das Thema „wp_schedule_single_event legt kein Event an“ ist für neue Antworten geschlossen.