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

概要

is_main_site関数は、WordPressのマルチサイト機能において、現在のサイトがメインサイトかどうかを調べるために使用されます。この関数は、特に以下のような機能を実装する際によく使われます。

  1. プラグインの動作を特定のサイトに限定する
  2. メインサイトにしか必要ないウィジェットを表示する
  3. メインサイト専用のスタイルシートやスクリプトを読み込む
  4. メインサイトに特化したコンテンツを表示する
  5. アップデートやアクションをメインサイトのみで実行する
  6. メインサイトでの特定の設定ページを管理する
  7. マルチサイト環境でのユーザー管理を効率化する
  8. メインサイトに特有のカスタムポストタイプを定義する

構文

is_main_site( $blog_id );

パラメータ

  • $blog_id (int): 検査対象のサイトのID。省略した場合は現在のサイトIDが使用されます。

戻り値

  • true (bool): 現在のサイトがメインサイトの場合。
  • false (bool): 現在のサイトがメインサイトでない場合。

関連する関数

使用可能なバージョン

  • WordPress 3.0 以降

コアファイルパス

  • wp-includes/ms-functions.php

サンプルコード

サンプルコード1

if ( is_main_site() ) {
    echo "このサイトはメインサイトです。";
}

説明: 現在のサイトがメインサイトであれば、メッセージを表示します。

サンプルコード2

if ( is_main_site( get_current_blog_id() ) ) {
    // メインサイトでのみ実行するコード
    // 例: メインサイト専用のメニューを表示
    display_main_site_menu();
}

説明: 現在のサイトがメインサイトの場合、特定のメニューを表示します。

サンプルコード3

function enqueue_main_site_scripts() {
    if ( is_main_site() ) {
        wp_enqueue_script( 'main-site-script', 'path/to/script.js' );
    }
}
add_action( 'wp_enqueue_scripts', 'enqueue_main_site_scripts' );

説明: メインサイトでのみ特定のJavaScriptファイルを読み込みます。

サンプルコード4

function my_custom_admin_notice() {
    if ( is_main_site() ) {
        echo '<div class="notice notice-warning">これはメインサイトです。</div>';
    }
}
add_action( 'admin_notices', 'my_custom_admin_notice' );

説明: 管理画面でメインサイトの場合にカスタム通知を表示します。

サンプルコード5

function conditional_widget() {
    if ( is_main_site() ) {
        register_sidebar( array( 'name' => 'Main Site Widget Area' ) );
    }
}
add_action( 'widgets_init', 'conditional_widget' );

説明: メインサイトの場合のみウィジェットエリアを登録します。

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

アクション名 使用可能
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

非推奨バージョン

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

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


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