再次打印 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", "这是一个测试邮件! ", "这是测试邮件标题", "这是测试邮件内容");
}
1 2

