wp_initialize_site()


WordPressのwp_initialize_site()関数は、新しいサイトを初期化する際に使用されます。マルチサイト環境で新しいサイトが作成されたときに、デフォルトの設定やデータをセットアップします。

構文

wp_initialize_site( int $site_id, array $args = array() );

引数の説明:

  • $site_id (int) — 初期化するサイトのID。
  • $args (array) — サイトの追加設定を指定する配列。

例1: 基本的なサイト初期化

新しいサイトをデフォルト設定で初期化します。

wp_initialize_site( get_current_blog_id() );

例2: カスタムオプションを指定して初期化

初期化時にカスタムオプションを設定します。

wp_initialize_site( 2, array( 'title' => 'テストサイト' ) );

例3: マルチサイトでの新規サイト作成

マルチサイト環境で新しいサイトを作成し、初期化します。

$new_site_id = wpmu_create_blog( 'example.com', '/newpath', 'New Site', 1 ); wp_initialize_site( $new_site_id );

例4: 初期化後にフックを実行

サイト初期化後にカスタムアクションを実行します。

add_action( 'wp_initialize_site', function( $site_id ) { update_blog_option( $site_id, 'custom_flag', '1' ); } ); wp_initialize_site( 3 );

例5: エラーハンドリング付き初期化

初期化処理をエラーハンドリングと共に実行します。

if( !wp_initialize_site( 4 ) ) { error_log( 'サイト初期化に失敗しました' ); }

例6: 特定のサイトテンプレートを適用

初期化時にサイトテンプレートを指定します。

wp_initialize_site( 5, array( 'template' => 'special-template' ) );

例7: ユーザーロールのカスタマイズ

初期化時にデフォルトのユーザーロールを変更します。

wp_initialize_site( 6, array( 'roles' => array( 'editor' => 'custom_editor' ) ) );

注意点

  • この関数は通常、WordPressコアによって自動的に呼び出されます。
  • マルチサイト環境でのみ使用可能です。
  • 直接呼び出す場合は慎重に行ってください。

関連機能: