Piszę następujący kod, aby uruchomić moją funkcję codziennie o 16:20 ..
Ale chyba jest problem z kodem ...
nie działa
Znacznik czasu epoki: 1427488800
28.03.2015 01:10:00
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()
Funkcja nie przyjmuje argumentu wejściowego, spróbujstrtotime()
funkcji lubstrftime()
funkcji zamiast tworzyć własne znaczniki czasu z ciągiem. Ale jeśli masz już znacznik czasu, nie potrzebujesz ich.Odpowiedzi:
WP Cron działa, gdy ktoś odwiedza twoją stronę. Dlatego jeśli nikt nie odwiedza, cron nigdy nie działa.
Teraz są 2 rozwiązania:
https://support.hostgator.com/articles/specialized-help/technical/wordpress/how-to-replace-wordpress-cron-with-a-real-cron-job
Użyj niestandardowego interwału w
wp_schedule_event()
:i możecie zobaczyć te wskazówki
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/
niestandardowy 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
wyszukiwarka Google
źródło
Zamiast time () skorzystaj z funkcji strtotime (), aby określić godzinę - wykorzysta ona dzisiejszą datę z podanym czasem. Więc w twoim przypadku:
Użycie w
wp_schedule_event
funkcji wyglądałoby tak:źródło
Cóż, 1427488800 rozwiązuje się do 27 marca 2015 r., Więc Twoje wydarzenie jeszcze się nie rozpocznie.
Pamiętaj też, że zaplanowane wydarzenia WP będą uruchamiane tylko wtedy, gdy ktoś wejdzie na stronę w tym czasie.
źródło
Ten kod działa dla mnie, uważam, że jest bliżej pierwotnego pytania. Chcesz uzyskać czas + strefę czasową UNIX, kiedy chcesz, aby się uruchomił. Po uruchomieniu crona i usunięciu go z WP, odtwarza się on w określonym czasie.
W poniższym przykładzie mam go dla AEST (GMT + 10) @ 6AM każdego ranka. Więc planuję to na GMT 20:00 każdego dnia.
źródło