add_site_meta()
は、WordPress のマルチサイト環境でサイト(ブログ)ごとのメタデータを追加するための関数です。
この関数を使用することで、特定のサイトに紐づくカスタムデータを保存できます。
例えば、各サイトのカスタム設定や追加情報を管理する場合に役立ちます。データは wp_sitemeta
テーブルに保存され、get_site_meta()
で取得できます。
機能の説明
この関数の役割
add_site_meta()
は WordPress マルチサイト環境 でのみ使用可能。- 指定したサイトに対して カスタムメタデータ を追加。
get_site_meta()
で追加したデータを取得できる。
使用する場面
- 各サイトごとの独自設定を保存(例: サイトごとのカスタムオプション)
- プラグインのカスタムデータ保存(例: 各サイトで異なる広告設定)
- 特定の情報をサイト単位で管理(例: サイトの登録日やプラン情報)
シンプルなコード例
add_site_meta(1, 'custom_option', 'value');
1
:サイトID(1
はメインサイト)'custom_option'
:保存するメタデータのキー'value'
:保存する値
このコードを実行すると、サイトID 1
に 'custom_option' => 'value'
というメタデータが追加されます。
使い方の説明
基本的な使い方
add_site_meta()
を使用して、サイトごとにカスタムメタデータを追加します。
$site_id = 2; // 追加対象のサイトID
$key = 'admin_email';
$value = 'admin@example.com';
if ( ! add_site_meta($site_id, $key, $value, true) ) {
echo 'すでにデータが存在するため追加できませんでした。';
} else {
echo 'メタデータを追加しました。';
}
引数の説明
$site_id
(整数) – メタデータを追加するサイトのID。$meta_key
(文字列) – メタデータのキー(識別名)。$meta_value
(任意の値) – 保存する値(文字列、配列、オブジェクトなど)。$unique
(ブール値) – 同じキーのデータがすでにある場合に追加を防ぐ(true
にすると重複登録を防止)。
データがすでにある場合の処理
もし既存のメタデータが存在する場合、add_site_meta()
はデータを追加せず false
を返します。その場合は update_site_meta()
を使用して値を更新できます。
if (! add_site_meta($site_id, $key, $value, true)) {
update_site_meta($site_id, $key, $value);
}
一緒に使うことが多い関連タグ
get_site_meta()
保存したメタデータを取得。
$admin_email = get_site_meta(2, 'admin_email', true);
echo $admin_email; // 出力: admin@example.com
update_site_meta()
既存のメタデータを更新。
update_site_meta(2, 'admin_email', 'newadmin@example.com');
delete_site_meta()
保存されたメタデータを削除。
delete_site_meta(2, 'admin_email');
追加情報で取得したい場合
サイトのすべてのメタデータを取得
サイトに登録されているすべてのメタデータを get_site_meta()
で取得できます。
$all_meta = get_site_meta(2);
print_r($all_meta);
出力例
Array (
[admin_email] => Array ( [0] => admin@example.com )
[custom_setting] => Array ( [0] => some_value )
)
想定されるトラブル
add_site_meta()
が機能しない
解決方法
- マルチサイトが有効になっているか確認
-
add_site_meta()
はシングルサイトでは使用できません。is_multisite()
を確認しましょう。
if (! is_multisite()) {
echo 'マルチサイトでのみ使用可能です。';
}
同じキーでデータが重複する
解決方法
$unique
を true
に設定すると、同じキーのデータが存在する場合は追加されません。
add_site_meta(2, 'custom_key', 'value', true);
Q&A
まとめ
add_site_meta()
は WordPress のマルチサイト環境 で サイトごとのカスタムメタデータ を追加するための関数です。
データを取得するには get_site_meta()
、更新するには update_site_meta()
を利用します。
マルチサイトのカスタム設定を管理する際に便利な関数なので、プラグイン開発時などに活用できます。
コメント