add_options_page() の使い方|説明・引数・注意点

説明

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

コメント

タイトルとURLをコピーしました