在我的多站点安装中,我想为一些子站点添加一个每日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?
最合适的回答,由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
}
*/
希望有帮助!