Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WordPress中的Cron作业不工作_Php_Wordpress_Cron - Fatal编程技术网

Php WordPress中的Cron作业不工作

Php WordPress中的Cron作业不工作,php,wordpress,cron,Php,Wordpress,Cron,我做了一个WordPress cron作业,每小时应该发送一封邮件: function mail_cron_job() { $time = date( 'h:ia', time() ); wp_mail( '****@******', 'Hourly E-mail from WP Cron', 'This message was sent on ' . $time ); } 我在表单提交中添加了以下代码: if ( !wp_next_scheduled('mail_c

我做了一个WordPress cron作业,每小时应该发送一封邮件:

function mail_cron_job() {
     $time = date( 'h:ia', time() );
       wp_mail( '****@******', 'Hourly E-mail from WP Cron', 'This message was sent on ' . $time );

}
我在表单提交中添加了以下代码:

if ( !wp_next_scheduled('mail_cron_job') ) {
                wp_schedule_event( time(), 'hourly', 'mail_cron_job');
        }

表单数据提交正常,但cron作业不会启动。没有错误报告。我遗漏了什么吗?

您需要使用动作挂钩将事件和功能绑定在一起

add_action( 'mail_cron_job', 'mail_cron_job' );
您可以在函数之后添加它

wordpress中的Cron作业调度

//Add Interval [ Day ] 
function cron_add_daily($schedules) 
{
// Adds once every minute to the existing schedules.
$schedules['daily'] = array('display' =>( 'Once Daily' ) );
return $schedules;
}
add_filter( 'cron_schedules', 'cron_add_daily' );
// create a scheduled event (if it does not exist already)
function cron_activation() {
 if( !wp_next_scheduled( 'plugin_mailcronjob' ) ) {  
   wp_schedule_event(time(), 'daily', 'plugin_mailcronjob' );  
  }
 }
 // and make sure it's called whenever WordPress loads
  add_action('init', 'crons_activation');

 function repeat_function_daily()
 {
   /*
        put code here what you want check daily
   */

  }
 // hook that function onto our scheduled event:
 add_action ('plugin_mailcronjob', 'repeat_function_daily');