説明
add_options_page() は、管理画面の「設定」メニュー配下に、設定ページを追加する関数です。
基本構文
add_options_page( string $page_title, string $menu_title, string $capability, string $menu_slug, callable $callback = '', int|float $position = null ): string|false
引数
$page_title:ページタイトル$menu_title:メニュー名$capability:必要な権限$menu_slug:識別名$callback:出力する関数$position:位置
戻り値
ページのフック名。
使い方(サンプル)
add_options_page( 'マイ設定', 'マイ設定', 'manage_options', 'my-options', 'my_options_page' );
注意点
- プラグインの設定画面を作る定番です。
実務での使いどころ
- プラグインの設定ページを、「設定」メニューの下に、追加するとき。
よくあるミスと対処
admin_menuフックの外で呼んでいる。- 権限(
$capability)が、緩すぎる。 - コールバックの中で、設定の保存に、
register_setting()などの、Settings API を使わず、自前の保存処理で、nonceの確認を省いている。
NG例
add_options_page( '設定', '設定', 'read', 'my-settings', 'my_page' ); // フックの外で、権限も緩い
OK例
add_action( 'admin_menu', function () {
add_options_page( 'サイト設定', 'サイト設定', 'manage_options', 'my-settings', 'my_settings_page' );
} );
使い分け早見表
| 関数 | 追加する場所 |
|---|---|
add_options_page() |
「設定」メニューの、下 |
add_menu_page() |
左メニューの、トップレベル |
add_submenu_page() |
既存のメニューの、下 |
関連項目
add_menu_page()、register_setting()、add_submenu_page()
公式リファレンス:add_options_page() | Function | WordPress Developer Resources

コメント