MENU

create_empty_blog()

create_empty_blog() は、WordPress マルチサイト環境で新しい空のサイト(ブログ)を作成するための関数です。

この関数は、サイトネットワークに新しいサイトをプログラム経由で追加する際に使用され、初期データの投入やユーザー割当をスキップして、最小限の構成でサイトを作成したいときに活用されます。

目次

基本構文

create_empty_blog( string $domain, string $path, int $site_id );

この関数は、指定したドメインとパスで空のブログをネットワーク内に追加します。

引き数と戻り値

引数説明
$domainstring作成するブログのドメイン(例:example.com
$pathstringサイトパス(例:/subsite/
$site_idint所属させるネットワーク(サイト)のID。通常は 1(メインネットワーク)
戻り値説明
$blog_idint作成されたブログの ID(失敗時は false)

使用例

タグを使った使用例

$blog_id = create_empty_blog( 'example.com', '/mysubsite/', 1 );

if ( $blog_id ) {
    echo "新しいブログのIDは {$blog_id} です";
} else {
    echo "ブログの作成に失敗しました。";
}

このコードは、example.com/mysubsite/ に空のブログを作成します。

注意点

  • この関数はマルチサイト環境でのみ有効です。シングルサイト環境では使用できません。
  • 作成されたブログには、ユーザーや初期コンテンツは設定されません。
  • WordPress の wp_initialize_site() を用いて、後で初期化処理を別途行う必要があります。

よく一緒に使われる関数

wp_initialize_site()

wp_initialize_site( $blog_id, array( 'options' => array() ) );

新規に作成したブログに初期データを投入します。

get_blog_details()

$details = get_blog_details( $blog_id );

作成したブログの詳細情報を取得します。

switch_to_blog()

switch_to_blog( $blog_id );
// ブログの操作
restore_current_blog();

作成したブログに切り替えて操作できます。

想定されるトラブル

falseが返ってくる

マルチサイトでない環境、または $domain$path の指定ミスが原因でブログ作成に失敗。

解決方法

マルチサイトが有効であることを確認し、引数を見直す。また、管理者ユーザーとして実行すること。

初期化されないブログができる

create_empty_blog() はデータベースのテーブル作成やオプション設定を行いません。

解決方法

wp_initialize_site() 関数で、初期化処理を明示的に行う必要があります。

Q&A

シングルサイトで使えますか?

いいえ、マルチサイト限定の関数です。

管理者ユーザーを同時に追加するには?

add_user_to_blog() などを使用して別途ユーザーを追加してください。

この関数で作成したサイトは有効になりますか?

はい、ただし初期化されていないため、実用には wp_initialize_site() を併用してください。

まとめ

create_empty_blog() は、WordPress マルチサイトで新しい空のサイトをプログラム的に追加するための低レベル関数です。

サイトの初期化やユーザー設定を細かく制御したい場合に有効で、開発者向けの用途が中心です。初期化処理の追加や権限管理と併用して、安全かつ柔軟なサイト追加を行うことができます。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次