WP_SCHEDUP_EVENT仅当访问管理员时

时间:2011-11-16 作者:Mike

documentation page 它说:“如果预定的时间过去了,当有人访问你的WordPress站点时,就会触发该操作。”

是否只有在访问管理员时才可能触发此操作?我正在努力防止缓慢的操作影响前端的用户。

1 个回复
最合适的回答,由SO网友:Bainternet 整理而成

在您的事件回调函数中,检查用户id是否为管理员,然后运行该函数,否则只需重新安排它。因此,使用您在问题中链接的codex页面中的示例,可能是这样的:

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
    }
}

结束

相关推荐

在wp-admin中操作主题列表

我正在运行一个多站点网络,安装并激活了100多个主题。有没有办法操纵wp admin中可用主题的列表,以便某些主题首先出现在列表中?(一种“特色”或“推荐”)在前9个字母之后,或者按照默认字母顺序排列,就可以了。显然,在谷歌上搜索“wordpress”和“themes”这两个词在这种情况下是毫无结果的。