MENU

【非推奨】add_option_whitelist()

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 5.5 以降では非推奨(Deprecated)となっており、使用は推奨されません。代わりに add_allowed_options() を使用してください。

add_allowed_options() は何が違うのですか?

add_allowed_options()add_option_whitelist() の代替として導入された関数で、より柔軟に設定オプションを管理できます。

許可されたオプションの一覧を取得するには?

get_option() を使用すると、登録済みのオプションの値を取得できます。

register_setting() との違いは?

register_setting() はオプションのバリデーションとデータベース登録を行うのに対し、add_allowed_options() は単に「許可されたオプションリスト」を管理する機能です。

まとめ

add_option_whitelist() は、WordPressの管理画面で許可されたオプションを追加するための関数ですが、WordPress 5.5 で廃止 されました。

現在は add_allowed_options() を使用するのが推奨されます。これにより、より直感的で安全な方法でオプションを管理できます。今後の開発では、非推奨関数を避け、最新の推奨手法を活用するようにしましょう。

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

コメント

コメントする

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

目次