create_empty_blog()
は、WordPress マルチサイト環境で新しい空のサイト(ブログ)を作成するための関数です。
この関数は、サイトネットワークに新しいサイトをプログラム経由で追加する際に使用され、初期データの投入やユーザー割当をスキップして、最小限の構成でサイトを作成したいときに活用されます。
目次
基本構文
create_empty_blog( string $domain, string $path, int $site_id );
この関数は、指定したドメインとパスで空のブログをネットワーク内に追加します。
引き数と戻り値
引数 | 型 | 説明 |
---|---|---|
$domain | string | 作成するブログのドメイン(例:example.com ) |
$path | string | サイトパス(例:/subsite/ ) |
$site_id | int | 所属させるネットワーク(サイト)のID。通常は 1(メインネットワーク) |
戻り値 | 型 | 説明 |
---|---|---|
$blog_id | int | 作成されたブログの 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
まとめ
create_empty_blog()
は、WordPress マルチサイトで新しい空のサイトをプログラム的に追加するための低レベル関数です。
サイトの初期化やユーザー設定を細かく制御したい場合に有効で、開発者向けの用途が中心です。初期化処理の追加や権限管理と併用して、安全かつ柔軟なサイト追加を行うことができます。
コメント