add_site_option()
は、WordPress のマルチサイト環境において、サイト全体で共有されるオプション(設定値)を追加するための関数です。
通常の add_option()
はシングルサイト環境で使用されますが、add_site_option()
はネットワーク全体で適用されるオプションを保存するのに適しています。
この関数を利用することで、ネットワーク全体で統一した設定を管理しやすくなります。
機能の説明
add_site_option()
は、WordPress の マルチサイト環境 で、ネットワーク全体で共有するオプションを追加するために使用します。
通常の add_option()
は個々のサイトごとにオプションを保存しますが、add_site_option()
を使用すると ネットワーク全体で共通の設定値 を保存できます。
主な用途
- ネットワーク全体で統一した設定を管理する(例:共通の API キー、全サイト共通のデフォルト設定)
- ユーザーがネットワーク管理画面から変更できるグローバルオプションを保存する
- プラグインがマルチサイト向けの一括設定を管理する
シンプルなコード例
add_site_option('global_setting', 'default_value');
'global_setting'
:追加するオプション名'default_value'
:オプションの初期値
このコードを実行すると、マルチサイト環境全体で 'global_setting'
という名前のオプションが 'default_value'
という値で保存されます。
使い方の説明
基本的な使い方
例えば、ネットワーク全体で共通のカスタムメッセージを設定する場合は、以下のように記述します。
if (!add_site_option('custom_network_message', 'このメッセージはすべてのサイトで表示されます。')) {
echo 'すでにオプションが存在します。';
}
add_site_option()
は、オプションが 存在しない場合のみ追加 する関数です。- すでにオプションが存在している場合は、
false
を返します。
オプションの更新
オプションの値を更新したい場合は、update_site_option()
を使用します。
update_site_option('custom_network_message', 'メッセージが変更されました。');
オプションの取得
保存されたオプションを取得するには、get_site_option()
を使用します。
$message = get_site_option('custom_network_message');
echo $message;
オプションの削除
オプションを削除する場合は、delete_site_option()
を使用します。
delete_site_option('custom_network_message');
一緒に使うことが多い関連タグ
update_site_option()
オプションの値を更新する。
update_site_option('global_setting', 'new_value');
get_site_option()
保存されたオプションの値を取得する。
$value = get_site_option('global_setting');
echo $value;
delete_site_option()
オプションを削除する。
delete_site_option('global_setting');
add_option()
シングルサイト環境でオプションを追加する(add_site_option()
のマルチサイト版)。
add_option('single_site_setting', 'value');
追加情報で取得したい場合
オプションが存在するか確認する
get_site_option()
の戻り値を使って、オプションが存在するかを確認できます。
$value = get_site_option('global_setting', false);
if ($value !== false) {
echo 'オプションが存在します: ' . $value;
} else {
echo 'オプションは存在しません。';
}
すべてのオプションを確認する
データベースの wp_sitemeta
テーブルを直接確認することで、保存されたすべての site_option
を一覧表示できます。
SELECT * FROM wp_sitemeta;
想定されるトラブル
オプションが追加されない
解決方法
add_site_option()
は 既にオプションが存在する場合は追加しない ため、update_site_option()
を使う必要がある。
if (!add_site_option('global_setting', 'default_value')) {
update_site_option('global_setting', 'default_value');
}
オプションが取得できない
解決方法
get_site_option()
を使用する際に デフォルト値を設定 すると、オプションが未登録のときにエラーを防げる。
$value = get_site_option('global_setting', 'デフォルト値');
マルチサイト環境でないと機能しない
解決方法
add_site_option()
はマルチサイト環境専用のため、シングルサイト環境では add_option()
を使用する。
Q&A
まとめ
add_site_option()
は、WordPress のマルチサイト環境において、ネットワーク全体で共通のオプションを追加するための関数です。
通常の add_option()
とは異なり、すべてのサイトで共有される設定を管理できます。
オプションの更新には update_site_option()
、取得には get_site_option()
を組み合わせることで、効率的にサイト全体の設定を管理できます。
コメント