Cron Job não está funcionando no plugin

Eu escrevi um plugin que irá converter postagens para o formato excel e, em seguida, enviar o email para .xls para um endereço de e-mail. Posso trabalhar com quando a function é declarada em functions.php, mas não funciona com a function definida no arquivo de plugin.

if ( ! wp_next_scheduled( 'xls_func_hook1' ) ) { wp_schedule_event( time(), 'hourly', 'xls_func_hook1' ); } add_action( 'xls_func_hook1', 'sendxls1' ); //senxls1 is a function in functions.php if ( ! wp_next_scheduled( 'xls_func_hook2' ) ) { wp_schedule_event( time(), 'hourly', 'xls_func_hook2' ); } add_action( 'xls_func_hook2', 'export2excel' ); 

O código completo está aqui

Solutions Collecting From Web of "Cron Job não está funcionando no plugin"

O evento cron precisa ser registrado no gancho de ativação do plugin, assim:

 register_activation_hook( __FILE__, 'activate_cron' ); function activate_cron() { wp_schedule_event( current_time( 'timestamp' ), 'hourly', 'the_function_to_run' ); } 

O the_function_to_run definido no wp_schedule_event precisa ser sua function que você deseja executar no intervalo de tempo.

Nota : quando você diz que algo é “Não funciona” , é realmente difícil de responder. Seja mais específico para obter melhores respostas.

@Chris_O está meio direito e seu código está meio direito, veja esta documentação . Na ativação do plugin, você registra um gancho de ação personalizado (para que seu plugin não registre repetidamente events duplicados). Em seguida, você anexa sua function cron a esse gancho personalizado.