it-swarm.com.de

wp_schedule_event funktioniert nicht?

Ich kann keinen Wordpress-Cron auslösen. Ich versuche, diesen Code auszuführen, um festzustellen, ob ich stündlich eine E-Mail erhalten kann.

Es ist direkt aus den Wordpress-Beispielen hier entnommen: http://codex.wordpress.org/Function_Reference/wp_schedule_event . Außer ich habe Unterstriche entfernt (siehe Vorbehalt in der Dokumentation).

Der Code läuft in meiner theme functions.php Datei. Der Cron scheint registriert zu sein, aber die Funktion prefixdothishourly wird nicht ausgelöst (soweit ich das beurteilen kann).

add_action( 'wp', 'prefixsetupschedule' );

/**
 * On an early action hook, check if the hook is scheduled - if not, schedule it.
 */
function prefixsetupschedule() {
    if ( ! wp_next_scheduled( 'prefixhourlyevent' ) ) {
        wp_schedule_event(time(), 'hourly', 'prefixhourlyevent');
    }
}

add_action( 'prefixhourlyevent', 'prefixdothishourly' );

/**
 * On the scheduled action hook, run a function.
 */
 function prefixdothishourly() {
     return wp_mail("[email protected]", "Notification TEST", "TEST", null);
 }
3
benedict_w

Es stellte sich heraus, dass ich das ALTERNATE_WP_CRON-Flag in wp-config.php setzen musste, damit dies funktioniert:

define('ALTERNATE_WP_CRON', true);
7
benedict_w

Der ALTERNATE_WP_CRON leitet einen Benutzer, der Ihre Website besucht, transparent weiter und kann dazu führen, dass der URL ein doing_wp_cron-Abfrageparameter hinzugefügt wird.

Wenn Ihre WordPress-Cron-Jobs aus irgendeinem Grund aufgrund zu hoher Auslastung oder zu wenig Datenverkehrs auf der Website fehlschlagen, ist es möglicherweise eine gute Option, auf einen serverseitigen oder externen Cron-Job zu wechseln, um den WordPress-Cron für Sie auszulösen.

0
tribulant