Eu escrevo o código a seguir para executar minha função todos os dias às 16:20.
Mas acho que é o problema no código ..
não está funcionando
Data e hora da época: 1427488800
28/03/2015 1: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()
função não aceita um argumento de entrada, tente astrtotime()
função ou astrftime()
função para criar carimbos de data / hora personalizados a partir de uma sequência. Mas se você já possui o registro de data e hora, não precisa deles.Respostas:
O WP Cron é executado quando alguém visita seu site. Portanto, se ninguém visita, o cron nunca é executado.
Agora, existem 2 soluções:
https://support.hostgator.com/articles/specialized-help/technical/wordpress/how-to-replace-wordpress-cron-with-a-real-cron-job
Use um intervalo personalizado em
wp_schedule_event()
:e você pode ver esses detalhes
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/
cron Wp personalizado
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
pesquisa do Google
fonte
Em vez de time () , use a função strtotime () para especificar a hora do dia - ela usará a data de hoje com a hora que você especificar. Então, no seu caso:
O uso na
wp_schedule_event
função ficaria assim:fonte
Bem, 1427488800 é resolvido para 27 de março de 2015, para que seu evento ainda não esteja definido para começar.
Além disso, lembre-se de que os eventos agendados do WP serão acionados apenas se alguém acessar o site naquele momento.
fonte
Este código está funcionando para mim, acredito que está mais próximo da pergunta original. Você deseja obter o horário e o fuso horário do UNIX para quando o executar. Depois que o cron é executado e removido do WP, ele se recria no momento que você especificar.
No exemplo a seguir, eu estou trabalhando para o AEST (GMT + 10) às 6h todas as manhãs. Estou agendando para as 20:00 GMT todos os dias.
fonte