MENU

マルチサイトで子サイトのサブドメインを抜き出す方法

サブドメインで運営しているマルチサイトで、
子サイトのサブドメイン名だけ抜き出す方法です。

目次

親サイトのURLがドメインの場合

例えば、子サイトのURLが

[php]http://blog.expmple.com/[/php]

だったとします。
URLの【blog】だけを抜き出したい時に取得する方法です。

親サイトのIDを取得

[php]get_blog_details(1)[/php] の1は、親サイトのIDを指定します。

恐らくデフォルトで1だと思います。

get_blog_detailsは、サイトIDを指定することにより、
マルチサイトの情報を引き出すことができます。

[php]get_blog_details(1)[/php] をvar_dumpで引き出した内容です。

[php]object(stdClass)#3418 (15) {
[“blog_id”]=>
string(1) “1”
[“site_id”]=>
string(1) “1”
[“domain”]=>
string(17) “eternal-tears.com”
[“path”]=>
string(1) “/”
[“registered”]=>
string(19) “2010-06-29 14:33:41”
[“last_updated”]=>
string(19) “2012-01-18 07:46:06”
[“public”]=>
string(1) “1”
[“archived”]=>
string(1) “0”
[“mature”]=>
string(1) “0”
[“spam”]=>
string(1) “0”
[“deleted”]=>
string(1) “0”
[“lang_id”]=>
string(1) “0”
[“blogname”]=>
string(15) “Eternal-tears+*”
[“siteurl”]=>
string(28) “http://www.eternal-tears.com”
[“post_count”]=>
string(3) “154”
}[/php] [php]$child_domain_details -> domain[/php] で、サブドメイン.ドメインを取得することができます。

トップドメインを削る

このままでは、ドメインが邪魔になるので、
[php]str_replace[/php] で置換します。
[php]$top_domain->domain[/php] で親サイトのドメインを取得出来ます。

サブドメインとドメインの間のコンマ(.)も取らなければならないので、
[php]”.”.$top_domain -> domain[/php] と記述します。

最終的なソース

[php] domain, “”, $child_domain_details -> domain);
echo $child_domain;
?>[/php]

親サイトをwwwなどのサブドメインで運営している場合

もしwwwなどが付いている場合は、
$top_domainの時点で、置換してあげます。

[php]$top_domain_only = str_replace(“www.”,””,$top_domain -> domain);[/php]

最終的なソースは、
[php] domain);
$child_domain_details = get_blog_details($blog_id);
$child_domain =str_replace(“.”.$top_domain_only, “”, $child_domain_details -> domain);
echo $child_domain;
?>[/php]

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

WordPress Love! 休日はほぼWordPress仲間と一緒に勉強会や写真を撮りに行っています。現在育児中のため、オフが多いです(>△<<<)

コメント

コメント一覧 (1件)

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次