我如何嵌套条件句来确定子站点和其他标准?

时间:2017-10-25 作者:yantat

在站点标题中。php位于根和网络上其他4个站点共享的子主题中(使用目录中配置的MU),我需要确定显示的是哪个站点/子站点,然后查找其他条件。

我看到有人提到从url获取\\u blog\\u id\\u、获取\\u current\\u站点和blog\\u id是可能的方法,有些方法比其他方法更可靠。哪种方法更好?

我基本上需要以下内容(过于简化):

If site 2, then 
- if is_single() {echo some code}
- elsif is_template() {echo some code}
elsif site 3, then
- same as above but with different output
我基本上想出了一种实现条件菜单的基本方法。我尝试过的插件并没有按预期工作,我不想依赖插件来实现如此重要的功能。

如果有人能帮忙解决这个问题,我们将不胜感激。

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

您应该使用get_current_blog_id() 如果你只需要身份证和get_blog_details() 如果需要更多字段。

请注意get_current_site 事实上,您可以在WP_Network 对象是的,正如在Codex 但尚未在开发人员文档上:

Note: get\\u current\\u site()是从MU继承而来的,它是根据旧术语命名的,旧术语涉及“站点”上的多个“博客”。我们现在说的是“网络”上的多个“站点”,但一些旧术语仍然存在于一些函数名中。此函数用于返回有关当前网络的信息。要获取有关网络上当前站点的信息,请参阅get\\u current\\u blog\\u id()和get\\u blog\\u details()。

应该是这样的。

// get current blog id
$blog_id = get_current_blog_id();
if ( 2 === $blog_id){
    // if site id is 2
    //middle part for this case
} else {
    //if is not
    //middle part for this case
}

结束

相关推荐

在更新站点信息时更新MultiSite中的Network/Site-info.php上的自定义字段的操作挂钩

我当前正在使用代码将自定义字段添加到site-info.php &;site-new.php 在网络管理中,要向数据库添加自定义选项,当我创建新的子网站时,这会起作用,它会在数据库中设置并检索输入值中的值。但是当我尝试更新此自定义选项的值时site-info, 这甚至没有到达函数,很可能是因为我使用了(错误的)钩子wpmu_new_blog, 因为我正在更新,我尝试使用wpmu_blog_updated, wpmu_edit_blog, wpmu_update_blog, 但我就是不能让它工作。任何