是否有一项功能可以检查Wordpress多站点安装是否在创建新博客时使用子目录或子域选项?
我使用函数wpmu_create_blog创建新博客。 食典委解释说:
在子目录安装中,$ domain与主站点的域名相同,路径是子目录名称(例如' example.com'和' / blog1 /&#39)。在子域名安装中,$ domain是新的子域名+根域名(例如' blog1.example.com'),$ path是' /'。
所以我需要一种方法来确定多站点是子目录还是子域安装。
答案 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
}
当然,这仅在至少创建了一个额外博客时才有效,但我找不到任何其他要检查的选项。