Dynamic name of cron event

时间:2017-02-24 作者:user1049961

在我的多站点安装中,我想为一些子站点添加一个每日cron事件。cron将通过API从另一个网站导入帖子。

因为一次导入所有站点的内容将以超时结束,所以我想为每个子站点设置一个cron。

在我的课堂上,我做到了:

    $cron_name = \'import_blog_posts_in_network_daily_\'.get_current_blog_id();
    if ( !wp_next_scheduled( $cron_name) ) {
        wp_schedule_event( time(), \'daily\', $cron_name );
    }
    add_action( $cron_name, array($this, \'import_blog_posts_in_network\') );
该代码为我的每个子网站正确注册cron。但是,我不知道,我怎样才能在我的import_blog_posts_in_network 回调函数

是否有方法在回调中获取操作名称,以获取我的站点ID?

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

所以,不,我看不出有什么方法可以说出你的行为。但是,您可以将参数传递给回调:

$blog_id = get_current_blog_id();
$cron_name = \'import_blog_posts_in_network_daily_\'.$blog_id;
if ( !wp_next_scheduled( $cron_name) ) {
    wp_schedule_event( time(), \'daily\', $cron_name, array($blog_id) );
}
add_action( $cron_name, array($this, \'import_blog_posts_in_network\') );
/*
public function import_blog_posts_in_network($blog_id) {
    // do something for blog $blog_id
}
*/
希望有帮助!

相关推荐

添加cron计划以在SAVE_POST上上传视频

我制作了一个自定义插件来从另一个源获取帖子数据,当我保存帖子时,我会获取所有数据。并将视频从源服务器上传到我们的服务器。但在上传视频之前保存帖子需要一段时间。现在,在保存帖子时,我需要从源中获取所有数据,但计划在1分钟后上传视频,以便在后台上传。代码示例:add_action( \'save_post\', \'update_from_source\'); function update_from_source($post_id) { // code for