add_option_whitelist() は、WordPressの管理画面で許可されたオプションリストに新しいオプションを追加するための関数です。
しかし、この関数は WordPress 5.5 で廃止 され、代わりに add_allowed_options() を使用することが推奨されています。
本記事では、add_option_whitelist() の基本的な動作と、代替手段である add_allowed_options() の使い方について説明します。
機能の説明
add_option_whitelist() は、WordPressのオプション設定ページで保存できるオプションを制御するための関数です。この関数を使用すると、許可リストに新しいオプションを追加し、ユーザーが設定を保存できるようになります。
主な用途
- 管理画面で許可されたオプションの制御
- ユーザーが変更できるオプションを制限し、セキュリティを向上
- WordPress設定画面にカスタムオプションを追加
ただし、この関数は WordPress 5.5 で非推奨(Deprecated) となり、現在では add_allowed_options() を使用するのが推奨されています。
シンプルなコード例
add_option_whitelist() を使用して、general 設定グループに custom_option を追加する例です。
add_option_whitelist(array('custom_option'), 'general');array('custom_option'):追加するオプション名を配列で指定'general':オプションを追加する設定グループ名
この設定により、custom_option が管理画面の「一般設定」で保存可能になります。
使い方の説明
オプションを許可リストに追加
function my_custom_settings() {
add_option_whitelist(array('my_custom_option'), 'general');
}
add_action('admin_init', 'my_custom_settings');admin_initフックでadd_option_whitelist()を実行general設定グループにmy_custom_optionを追加- これにより、管理画面の「一般設定」で
my_custom_optionが保存可能になる
代替手段:add_allowed_options() の使用(推奨)
WordPress 5.5 以降では add_allowed_options() を使用することが推奨されています。
function my_custom_settings() {
add_allowed_options(array('general' => array('my_custom_option')));
}
add_action('admin_init', 'my_custom_settings');add_allowed_options()は、設定グループごとに許可するオプションを配列で指定できる- 旧関数よりも直感的な書き方で、複数の設定グループにオプションを追加可能
一緒に使うことが多い関連タグ
add_allowed_options()
現在推奨されている関数で、add_option_whitelist() の代替として使用されます。
add_allowed_options(array('general' => array('custom_option')));register_setting()
オプションの登録を行い、入力値のバリデーションを設定できます。
register_setting('general', 'custom_option');get_option()
登録したオプションの値を取得するために使用します。
$value = get_option('custom_option', 'default_value');update_option()
オプションの値を更新する際に使用します。
update_option('custom_option', 'new_value');追加情報で取得したい場合
wp_load_alloptions()
すべてのオプションを取得する場合は wp_load_alloptions() を使います。
$options = wp_load_alloptions();
print_r($options);このコードを実行すると、WordPressのすべてのオプションが配列で取得できます。
想定されるトラブル
add_option_whitelist() が動作しない
WordPress 5.5 以降では add_option_whitelist() は非推奨となっており、デフォルトの環境では機能しません。
解決方法
代わりに add_allowed_options() を使用してください。
add_allowed_options(array('general' => array('custom_option')));Q&A
まとめ
add_option_whitelist() は、WordPressの管理画面で許可されたオプションを追加するための関数ですが、WordPress 5.5 で廃止 されました。
現在は add_allowed_options() を使用するのが推奨されます。これにより、より直感的で安全な方法でオプションを管理できます。今後の開発では、非推奨関数を避け、最新の推奨手法を活用するようにしましょう。
コメント