説明
is_main_site() は、現在のサイトが、ネットワークのメインサイトかどうかを判定する関数です。マルチサイトで使います。
基本構文
is_main_site( int $site_id = null, int $network_id = null ): bool
引数
$site_id:判定するサイトのID(省略すると、現在のサイト)$network_id:ネットワークのID(省略すると、現在のネットワーク)
戻り値
メインサイトなら true、そうでなければ false。マルチサイトでない環境では、常に true。
使い方(サンプル)
if ( is_multisite() && ! is_main_site() ) {
// サブサイトだけの処理
}
注意点
- マルチサイトでない環境では、常に
trueを返す。 - マルチサイトかどうかの判定は、
is_multisite()。
実務での使いどころ
- メインサイトだけで、処理を動かすとき。
- サブサイトだけで、処理を変えるとき。
よくあるミスと対処
- マルチサイトでない環境で、常に
trueになることを考えていない。 is_multisite()と混同している。is_multisite()は、マルチサイトかどうかの判定。
NG例
if ( is_main_site() ) {
// マルチサイトのメインサイトのつもり(シングルサイトでも入る)
}
OK例
if ( is_multisite() && is_main_site() ) {
// マルチサイトの、メインサイトだけ
}
使い分け早見表
| 関数 | 判定・取得するもの |
|---|---|
is_multisite() |
マルチサイトか |
is_main_site() |
メインサイトか |
get_current_blog_id() |
現在のサイトのID |

コメント