ワードプレスのis_multisite関数の使用方法・解説

概要

is_multisite関数は、WordPressがマルチサイトモードで動作しているかどうかを調べるための関数です。この関数は、サイトのネットワーク構成や設定に応じた機能を実装する際によく使われます。具体的には、以下のような場合で利用されることが多いです。

  1. マルチサイト特有の管理メニューを表示するかどうかの判定
  2. サイト間でのユーザーアクセス権の制御
  3. プラグインやテーマの設定をマルチサイト仕様で変更する際のチェック
  4. 特定の機能をマルチサイト専用にカスタマイズする
  5. サイト全体の設定をマルチサイト用に読み込む際の条件分岐
  6. サイトのURL構造をマルチサイト形式に適応させる
  7. リダイレクト処理の制御を行う
  8. マルチサイト用のカスタムクエリの発行

構文

is_multisite();

パラメータ

この関数には引数はありません。

戻り値

is_multisite関数は、マルチサイト機能が有効な場合はtrue、無効な場合はfalseを返します。

関連する関数

使用可能なバージョン

is_multisite関数は、WordPress 3.0以降で使用可能です。

コアファイルのパス

この関数は、wp-includes/ms-functions.phpファイルに含まれています。

サンプルコード

サンプルコード 1: マルチサイト名の表示

if (is_multisite()) {
    echo "このサイトはマルチサイトです。";
} else {
    echo "このサイトはマルチサイトではありません。";
}

このコードは、現在のサイトがマルチサイト環境かどうかをチェックし、その結果に基づいてメッセージを表示します。

サンプルコード 2: プラグインの条件分岐

if (is_multisite()) {
    // マルチサイト用の特別な処理を実行
    add_action('network_admin_menu', 'my_network_admin_menu');
}

このコードでは、サイトがマルチサイトの場合に、ネットワーク管理メニューに特定のメニューを追加しています。

サンプルコード 3: ユーザーのアクセス権管理

if (is_multisite() && current_user_can('manage_network')) {
    // ネットワーク管理者のための処理
    // 例: 特定の機能を表示
}

このコードは、マルチサイト環境でかつユーザーがネットワーク管理者であるかどうかをチェックし、特定の機能を表示するかを決定します。

サンプルコード 4: テーマのカスタマイズ

if (is_multisite()) {
    add_filter('theme_mods_' . get_current_blog_id(), 'my_theme_mods');
}

このコードは、ブログIDに基づいて特定のテーマ設定をマルチサイトに適用するためのフィルターを追加しています。

サンプルコード 5: URLリダイレクト

if (is_multisite()) {
    add_action('template_redirect', 'my_redirect_function');
}

このコードでは、マルチサイトの場合のみ特定のリダイレクト処理を実行するために、template_redirectアクションにフックしています。

この関数のアクションでの使用可能性

アクション 使用例
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

非推奨・削除されたバージョン

特に非推奨または削除されたバージョンはありません。

この関数について質問する


上の計算式の答えを入力してください