再次打印 wp_get_schedules() 函数的输出:


Array
(
    [weekly] => Array
        (
            [interval] => 604800
            [display] => Once Weekly
        )

    [fortnightly] => Array
        (
            [interval] => 1209600
            [display] => Once Fortnightly
        )

    [hourly] => Array
        (
            [interval] => 3600
            [display] => Once Hourly
        )

    [daily] => Array
        (
            [interval] => 86400
            [display] => Once Daily
        )
)

定义任务事件。
我们定义每天都要做的一个事件:wpjam_daily_function_hook():


if (!wp_next_scheduled('wpjam_daily_function_hook')) {
    wp_schedule_event( time(), 'daily', 'wpjam_daily_function_hook' );
}

就像上面所说的,‘wpjam_daily_function_hook’ 这个函数会被调用,并且只需调用一次,这就是为什么去检查 wp_next_scheduled('my_daily_function_hook') 返回的结果,如果已经安排返回下次安排的时间,如果没有被安排返回否,我们要确保事件只被安排一次。

上面定义好了事件,现在我们需要定义一个函数 wpjam_daily_function() 去执行具体的功能:


add_action( 'wpjam_daily_function_hook', 'wpjam_daily_function');
function wpjam_daily_function() { 
    print "I was just called. I'll be called at the same time tomorrow"; 
}

这样在每天相同时间,第二个浏览站点任何页面的人将看到有文字显示在页面上。
下面在做个示例每个小时给某邮箱发一个邮件


//下面的代码放在 functions.php 文件里面,cron 一般用不着,根据需要具体使用才可以的。
add_action('my_hourly_event', 'do_this_hourly');
function my_activation() {
	if ( !wp_next_scheduled( 'my_hourly_event' ) ) {
		wp_schedule_event(time(), 'hourly', 'my_hourly_event');
	}
}
add_action('wp', 'my_activation');
function do_this_hourly() {
	//填写 PHP 代码,下面举例
        wp_mail( "xxxx@qq.com", "这是一个测试邮件! ", "这是测试邮件标题", "这是测试邮件内容");
}