global $current_blog;

它的返回结果是:

stdClass Object
(
    [blog_id] => 3
    [site_id] => 1
    [domain] => demo.utubon.com
    [path] => /neighborhood/
    [registered] => 2013-08-01 10:31:03
    [last_updated] => 2013-08-01 02:31:03
    [public] => 1
    [archived] => 0
    [mature] => 0
    [spam] => 0
    [deleted] => 0
    [lang_id] => 0
)

也可以使用get_blog_details函数:

$current_blog = get_blog_details();

它的返回结果是:

stdClass Object
(
    [blog_id] => 3
    [site_id] => 1
    [domain] => demo.utubon.com
    [path] => /neighborhood/
    [registered] => 2013-08-01 10:31:03
    [last_updated] => 2013-08-01 02:31:03
    [public] => 1
    [archived] => 0
    [mature] => 0
    [spam] => 0
    [deleted] => 0
    [lang_id] => 0
    [blogname] => Neighborhood
    [siteurl] => http://demo.utubon.com/neighborhood
    [post_count] => 
)
// 比global $current_blog的信息更多

这基本上就满足了我们的需要,不过还有一个比较绕弯子的方法,使用get_blog_id_from_url函数。如果你的多站点是使用子目录的形式,就使用:

$blog_id = get_blog_id_from_url("example.com", "/blog1/");

如果使用的是子域名的形式,就使用:

$blog_id = get_blog_id_from_url("blog1.example.com");

而上面的这些参数,我们可以使用$_SERVER['SERVER_NAME']$_SERVER["REQUEST_URI"]获取。

获得$blog_id之后各种事情就好办了。