Ich schreibe folgenden Code, um meine Funktion jeden Tag um 16:20 Uhr auszuführen.
Aber ich denke, das ist das Problem im Code.
funktioniert nicht
Epochenzeitstempel: 1427488800
28.03.2015 01:10:00 Uhr
if( !wp_next_scheduled( 'import_into_db' ) ) {
wp_schedule_event( time('1427488800'), 'daily', 'import_into_db' );
function import_into_db(){
////My code
}
add_action('wp', 'import_into_db');
}
time()
Funktion verwendet kein Eingabeargument. Versuchen Sie stattdessen diestrtotime()
Funktion oder diestrftime()
Funktion, um benutzerdefinierte Zeitstempel aus einer Zeichenfolge zu erstellen. Aber wenn Sie bereits den Zeitstempel haben, brauchen Sie ihn nicht.Antworten:
WP Cron wird ausgeführt, wenn jemand Ihre Website besucht. Wenn also niemand besucht, läuft der Cron nie.
Jetzt gibt es 2 Lösungen:
https://support.hostgator.com/articles/specialized-help/technical/wordpress/how-to-replace-wordpress-cron-with-a-real-cron-job
Verwenden Sie ein benutzerdefiniertes Intervall in
wp_schedule_event()
:und Sie können diese Tuts sehen
http://www.nextscripts.com/tutorials/wp-cron-scheduling-tasks-in-wordpress/
http://www.iceablethemes.com/optimize-wordpress-replace-wp_cron-real-cron-job/
http://www.smashingmagazine.com/2013/10/16/schedule-events-using-wordpress-cron/
benutzerdefinierte Wp Cron
http://codex.wordpress.org/Plugin_API/Filter_Reference/cron_schedules
http://www.smashingmagazine.com/2013/10/16/schedule-events-using-wordpress-cron/
http://www.viper007bond.com/2011/12/14/how-to-create-custom-wordpress-cron-intervals/
http://www.sitepoint.com/mastering-wordpress-cron/
https://tommcfarlin.com/wordpress-cron-jobs/
http://www.paulund.co.uk/create-cron-jobs-in-wordpress
Cron Linux
http://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/
http://www.thesitewizard.com/general/set-cron-job.shtml
http://code.tutsplus.com/tutorials/scheduling-tasks-with-cron-jobs--net-8800
Google-Suche
quelle
Verwenden Sie anstelle von time () die Funktion strtotime () , damit Sie die Uhrzeit angeben können. Dabei wird das heutige Datum mit der von Ihnen angegebenen Uhrzeit verwendet. Also in deinem Fall:
Die Verwendung in der
wp_schedule_event
Funktion würde folgendermaßen aussehen:quelle
Nun, 1427488800 wird bis zum 27. März 2015 aufgelöst, sodass Ihre Veranstaltung noch nicht einmal beginnen soll.
Beachten Sie außerdem, dass geplante WP-Ereignisse nur ausgelöst werden, wenn zu diesem Zeitpunkt jemand auf die Website gelangt.
quelle
Dieser Code funktioniert für mich, ich glaube, er ist näher an der ursprünglichen Frage. Sie möchten die UNIX-Zeit + Zeitzone abrufen, wenn sie ausgeführt werden soll. Sobald der Cron ausgeführt und aus WP entfernt wurde, wird er zu dem von Ihnen angegebenen Zeitpunkt neu erstellt.
Im folgenden Beispiel funktioniert es jeden Morgen um 6 Uhr morgens für AEST (GMT + 10). Also plane ich es jeden Tag für GMT 20:00.
quelle