在文件页上,它说“如果计划的时间已经过去,当有人访问您的WordPress站点时,该操作将触发。”
是否有可能只在管理员被访问时才触发此操作?我正在努力防止一个缓慢的操作影响用户的正面。
发布于 2011-11-16 10:43:44
在您的事件回调函数中,检查用户是否标识了admin,然后运行该函数,否则只需重新安排它。所以,用你在问题中链接到的法典页面上的例子,它会是这样的:
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() {
// do something every hour only if this is the admin
if (!current_user_can('administrator')){
// time()+1800 = 1/2 hour from now.
wp_schedule_single_event(time()+1800, 'my_hourly_event');
return;
}else{
//do your thing
}
}
https://wordpress.stackexchange.com/questions/33860
复制相似问题