了解Wordpress多站点是否为新博客使用子目录或子域

时间:2014-05-27 07:45:43

标签: wordpress subdomain subdirectory

是否有一项功能可以检查Wordpress多站点安装是否在创建新博客时使用子目录或子域选项?

我使用函数wpmu_create_blog创建新博客。 食典委解释说:

在子目录安装中,$ domain与主站点的域名相同,路径是子目录名称(例如' example.com'和' / blog1 /&#39)。在子域名安装中,$ domain是新的子域名+根域名(例如' blog1.example.com'),$ path是' /'。

所以我需要一种方法来确定多站点是子目录还是子域安装。

2 个答案:

答案 0 :(得分:4)

好吧,我们有constant defined in wp-config.php

if ( defined( 'SUBDOMAIN_INSTALL' ) ) 
{
    if( SUBDOMAIN_INSTALL )
        echo '<h2>Is: SUBDOMAIN</h2>';
    else
        echo '<h2>Is: SUBDIRECTORY</h2>';
}

答案 1 :(得分:0)

您可以使用wp_get_sites()获取有关您博客的信息。它将返回一个包含所有现有博客信息的数组。

来自the documentation的示例结果:

Array(
    [0] => Array(
        [blog_id] => 1
        [site_id] => 1
        [domain] => example.com
        [path] => /
        [registered] => 2013-11-08 17:56:46
        [last_updated] => 2013-11-08 18:57:19
        [public] => 1
        [archived] => 0
        [mature] => 0
        [spam] => 0
        [deleted] => 0
        [lang_id] => 0
    )

    [1] => Array(
        [blog_id] => 2
        [site_id] => 1
        [domain] => example.com
        [path] => /examplesubsite/
        [registered] => 2013-11-08 18:07:22
        [last_updated] => 2013-11-08 18:13:40
        [public] => 1
        [archived] => 0
        [mature] => 0
        [spam] => 0
        [deleted] => 0
        [lang_id] => 0
    )
)

[0]将成为您的主要博客,所以我会忽略这一点。但是在那之后检查第一个博客你应该能够获得信息。

$info = wp_get_sites();
if ($info[1]['path'] == "/") {
    // the installation uses subdomains
}
else {
    // the installation uses subdirectorys
}

当然,这仅在至少创建了一个额外博客时才有效,但我找不到任何其他要检查的选项。