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

概要

get_sites 関数は、WordPressのマルチサイト機能において、サイトIDまたはサイト数を取得するための関数です。この関数は、マルチサイトネットワーク内のサイトをリストアップしたり、その特定のサイトについての情報を取得したりする際に非常に便利です。以下のような機能を実装する際によく使われます:

  1. サイトの一覧表示
  2. サイトのメタ情報取得
  3. サイトの統計データ表示
  4. サイトのバックアップ管理
  5. サイト間のデータ共有
  6. サイトごとのカスタム機能設定
  7. マルチサイト管理ダッシュボードの作成
  8. 特定サイトへのアクセス制限設定

構文

array get_sites( $args = array() )

パラメータ

  • $args (配列) – 取得するサイトの条件を指定するための引数。デフォルトは空の配列。

戻り値

  • (配列) 取得したサイトの情報を含む配列。各サイトはオブジェクト形式で、関連するプロパティ(例:ID、ドメイン、パスなど)が含まれます。

関連する関数

使用可能なバージョン

  • WordPress 3.0 以降

コアファイルのパス

  • wp-includes/ms-functions.php

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

アクション 使用例
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

get_sites 関数は特定のワードプレスバージョンで非推奨又は削除された場合はありません。

サンプルコード

サンプルコード1: すべてのサイトを取得する

$all_sites = get_sites();
foreach ( $all_sites as $site ) {
    echo $site->blog_id . ': ' . $site->domain . $site->path . '<br>';
}

このコードは、マルチサイト内のすべてのサイトを取得し、それぞれのサイトIDとURLを表示します。

サンプルコード2: 特定の条件でサイトを取得する

$args = array(
    'public' => 1,
);
$public_sites = get_sites( $args );
foreach ( $public_sites as $site ) {
    echo $site->blog_id . '<br>';
}

このコードは、公開されているサイトのみを取得し、サイトIDを表示します。

サンプルコード3: サイトのメタデータを取得する

$sites = get_sites();
foreach ( $sites as $site ) {
    $details = get_blog_details($site->blog_id);
    echo 'サイトタイトル: ' . $details->blogname . '<br>';
}

このコードは、すべてのサイトのブログタイトルを取得し表示します。

サンプルコード4: サイトの数をカウントする

$sites = get_sites();
$site_count = count($sites);
echo 'サイトの数: ' . $site_count;

このコードは、マルチサイト内のサイトの総数をカウントし表示します。

サンプルコード5: 特定のサイトを取得する

$site_id = 1; // 取得したいサイトのID
$site = get_sites(['site__in' => [$site_id]]);
echo 'サイトID: ' . $site[0]->blog_id;

このコードは、特定のサイトIDを指定してそのサイトの情報を取得し表示します。

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


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