remove_allowed_options()


WordPressのremove_allowed_options()関数は、管理者画面で許可されているオプションを削除するために使用されます。特定の権限を持つユーザーが変更できないようにする場合に有効です。

構文

remove_allowed_options( string $option_group, array $options );

引数の説明:

  • $option_group(string)—オプショングループ名
  • $options(array)—削除するオプション名の配列

例1:基本使用法

「general」オプショングループから「blogname」を削除します。

remove_allowed_options('general',array('blogname'));

例2:複数オプションを一度に削除

「discussion」グループから複数のオプションを削除します。

remove_allowed_options('discussion',array('default_ping_status','default_pingback_flag'));

例3:プラグインで使用

プラグイン有効化時に特定オプションをロックします。

register_activation_hook(__FILE__,function(){remove_allowed_options('reading',array('posts_per_page'));});

例4:ユーザー権限に基づく制限

編集者権限に対してオプションを制限します。

add_action('admin_init',function(){if(current_user_can('editor')){remove_allowed_options('writing',array('use_smilies'));}});

例5:カスタムオプショングループ

カスタムオプショングループから項目を削除します。

remove_allowed_options('my_plugin_settings',array('api_key'));

例6:マルチサイト環境での使用

ネットワーク管理者のみが変更可能にします。

if(!is_super_admin()){remove_allowed_options('site_settings',array('site_logo'));}

例7:条件付きでオプション削除

特定の条件下でのみオプションを削除します。

if(date('D')==='Sun'){remove_allowed_options('general',array('start_of_week'));}

注意点

  • この関数は管理者画面でのみ有効です
  • データベースからオプションを削除するわけではありません
  • フックの優先順位に注意が必要です

関連機能: