Multisite switch to blog

时间:2015-07-05 作者:user668499

在我开始这个问题之前,我很抱歉,因为我在本地工作,所以我没有任何代码可以显示。

我有一个Wordpress多站点,有3个站点-“site-1”、“site-2”、“site-3”。

它们都导入相同的导航部分。php”,从模板文件夹。

导航是硬编码的,但动态地从“site-2”中为site-2按钮提取内容

在导航部分的开头。php“我获取当前博客id,然后切换到“site-2”。

    $the_blog_id = get_current_blog_id();
    switch_to_blog(2);
在导航部分。php“我创建导航并从“site-2”中提取内容”。

在导航部分的底部。php“我切换回当前博客

    switch_to_blog( $the_blog_id );
在每个网站上,我都检查了切换到博客的情况

    echo get_current_blog_id();
这为我提供了每个站点的当前博客id,并且在每个站点上都是正确的。

每个站点都有从该站点的自定义字段中提取内容的页面。

在“site-1”和“site-2”上,自定义字段中的内容没有被提取出来,但在“site-2”上却是这样。

如果我删除“导航”部分中的开关\\u to\\u blog(2)。php“动态内容不会添加到nav中,但自定义字段内容会正确显示在所有页面上。

我只能认为切换回当前博客是不起作用的。

我知道这是含糊不清的,但有没有人有任何经验,可湿性粉剂和博客切换。

1 个回复
SO网友:bueltge

如果您使用switch_to_blog, 也始终使用restore_current_blog. 这个restore_current_blog 函数撤消对的最后一次调用switch_to_blog, 但只有一步,调用才是不可嵌套的,所以始终调用restore_current_blog 再次调用switch\\u to\\u blog之前。

结束

相关推荐

Multisite Login problem

自从我将我的多站点网络从3.8升级到3.9后,我就无法通过主博客登录。它是一个子目录安装,而不是子域。当我尝试登录到主站点时:http://uspress.avenues.org/wp-login.php, 获取消息“此用户已选择删除其帐户,并且内容不再可用。”这不是真的。据我所知,你不能删除主网站,我已经检查了数据库,网站被设置为公共网站。如果转到子网站的登录页,我可以这样登录:http://uspress.avenues.org/kgarnier/wp-login.php主站点的主页是可以访问的,但是