WordPress は複数のブログやウェブサイトを管理することができる仕組みを持っています。
マルチサイトとは、WordPress 3.0 から搭載された一つの WordPress インストールを複数の仮想サイトが共有できる仕組みのことを言います。マルチサイト機能が有効化されると、WordPress サイトは変換され、サイトのネットワークをサポートします。
ここで言うネットワークとは、一つのインストールされた WordPress のマルチサイト機能により作成された個別のサイトの集まりを意味します。
誤解を恐れず簡単に説明すると、1つの WordPress の中に、何個もブログを用意・管理することができる仕組みを WordPress ではマルチサイトと呼びます。
マルチサイトの作成方法はこちらのドキュメントを参考にしてください。
このマルチサイトのネットワーク管理者ページを表示しているかどうかを判断する関数が、今回紹介する is_network_admin()
です。
is_network_admin() とは
リクエストされているページがネットワーク管理者ページ( /wp-admin/network/
以下)かどうかを調べる。
ネットワーク管理者ページのいずれかである場合は true
を、そうでない場合は false
を返します。
似たような管理者ページを判別する関数として、以下のようなものがあります。
is_admin()
:管理者ページ(/wp-admin/
以下すべて)かどうか調べるis_blog_admin()
:ブログ管理者ページ(ユーザー管理画面・ネットワーク管理画面以外の/wp-admin
ディレクトリのページ)かどうか調べるis_user_admin()
:ユーザー管理者ページ(/wp-admin/user/
ディレクトリ内)かどうか調べる
is_admin()
も同じでしたが、ユーザーが管理者かどうか権限のチェックはしません。ネットワーク管理画面を表示しているかどうかの判断をします。権限を確認したい場合には current_user_can()
を使用してください。
マルチサイトが有効かどうかを調べるには is_multisite()
を使用します。
使い方
一般的にはこのように使います。
if ( is_network_admin() ) {
echo "あなたはネットワーク管理画面にアクセスしています。";
} else {
echo "あなたはネットワーク管理画面にアクセスしていません。";
}
まとめ
普段、ブログやホームページなどの用途でしか WordPress を使っていないと、なかなかマルチサイトという機能について知ることは少ないかも知れません。
マルチサイトも使い方によっては便利な機能だと思うので、利用される際にはこの関数も思い出してあげてください。