wp_is_site_initialized()


WordPressの関数wp_is_site_initialized()は、サイトが初期化されているかどうかをチェックするために使用されます。マルチサイト環境で特に有用です。

構文

wp_is_site_initialized( int $site_id );
  • $site_id(int)—チェックするサイトのID。デフォルトは現在のサイト。

例1:現在のサイトが初期化されているかチェック

現在のサイトが初期化されているかどうかを確認します。

if(wp_is_site_initialized()){echo'初期化済み';}else{echo'未初期化';}

例2:特定のサイトIDをチェック

指定したサイトIDが初期化されているか確認します。

$site_id=get_current_blog_id();if(wp_is_site_initialized($site_id)){echo'初期化済み';}

例3:初期化チェック後に処理を実行

サイトが初期化されている場合にのみコードを実行します。

if(wp_is_site_initialized()){//初期化済みの処理}

例4:未初期化サイトの検出

サイトが初期化されていない場合にメッセージを表示します。

if(!wp_is_site_initialized()){wp_die('サイトは初期化されていません');}

例5:マルチサイトでの使用例

マルチサイト環境で全てのサイトをチェックします。

$sites=get_sites();foreach($sites as $site){if(wp_is_site_initialized($site->blog_id)){echo$site->blog_id.'は初期化済み';}}

例6:初期化状態によるリダイレクト

サイトが初期化されていない場合にリダイレクトします。

if(!wp_is_site_initialized()){wp_redirect('https://example.com/not-ready');exit;}

例7:管理画面での使用

管理画面で初期化状態をチェックします。

add_action('admin_init',function(){if(!wp_is_site_initialized()){add_action('admin_notices',function(){echo'<div class="error"><p>サイトが初期化されていません</p></div>';});}});

注意点

  • この関数はマルチサイトインストールでのみ使用可能です
  • サイトIDが存在しない場合、falseを返します
  • 初期化状態はデータベースのフラグに依存します

関連機能: