restore_current_blog():布尔

调用后恢复当前日志切换到日志().

描述

另请参见

返回

布尔如果我们已经在当前的博客上了,那就错了。

更多信息

恢复当前日志()应在每之后调用切换到日志()如果不是,则为监控切换的全局变量,$GLOBALS[“_wp_switched_stack”],即使您使用切换到日志()返回原始博客。如果$GLOBALS[“_wp_switched_stack”]不为空,WP会认为它处于切换状态,并可能通过返回错误的网站URLwp_upload_dir()。请参阅http://wordpress.stackexchange.com/a/123516/27757

打电话时切换到日志()重复,任一呼叫恢复当前日志()每次,或保存原始博客ID直到结束调用switch_to_blog()这样做:

$GLOBALS['_wp_switched_stack']=数组();
$GLOBALS['switched']=false;

前者可能更可取,因为它不是黑客。

来源

函数restore_current_blog(){全局$wpdb;if(空($GLOBALS['_wp_switched_stack']){返回false;}$new_blog_id=数组弹出($GLOBALS['_wp_switched_stack']);$prev_blog_id=获取当前日志();if($new_blog_id==$prev_blog_ id){/**该过滤器记录在wp-includes/ms-blogs.php中*/do_action('switch_blog',$new_blog_id,$prev_blog_id,'restore');//如果我们仍然在交换堆栈中有项目,则认为我们仍然“交换”。$GLOBALS['switched']=!空($GLOBALS['_wp_switched_stack']);返回true;}$wpdb->设置日志id($new_blog_id);$GLOBALS['blog_id']=$new_blog_id;$GLOBALS['table_prefix']=$wpdb->get_blog_prefix();if(function_exists('wp_cache_switch_to_blog')){wp_cache_switch_to_blog($new_blog_id);}其他{全局$wp_object_cache;if(is_object($wp_object_cache)&&isset($wp_object_cache->global_groups)){$global_groups=$wp_object_cache->全局组;}其他{$global_groups=false;}wp_cache_init();if(function_exists('wp_cache_add_global_groups')){if(is_array($global_groups)){wp_cache_add_global_groups($全局组);}其他{wp_cache_add_global组(阵列('博客详细信息','博客id缓存',“blog-lookup”,“blog_meta”,“全球帖子”,“网络”,'网络查询',“站点”,'站点详细信息','站点选项','站点查询','站点-瞬态',“主题_文件”,“rss”,“用户”,'用户查询','用户元数据','用户电子邮件','用户登录',“userslugs”,));}wp_cache_add_non_persistent_groups(数组(“counts”、“plugins”、“theme_json”));}}/**该过滤器记录在wp-includes/ms-blogs.php中*/do_action('switch_blog',$new_blog_id,$prev_blog_id,'restore');//如果我们在交换堆栈中仍然有项目,那么就认为我们自己仍然是“交换的”。$GLOBALS['switched']=!空($GLOBALS['_wp_switched_stack']);返回true;}

挂钩

do_操作(“switch_blog”,整数 $新日志id,整数 $prev_blog_id,一串 $上下文 )

切换博客时激发。

变更日志

版本描述
MU(3.0.0)介绍。

用户贡献的笔记

你必须登录在能够贡献笔记或反馈之前。