add_submenu_page

説明

mixed add_submenu_page( string $parent_slug, string $page_title, string $menu_title, mixed string $capability, string $menu_slug [ , mixed $function = '' [, int $position = null ] ] )
サブメニューを登録する。

パラメータ

  • $parent_slug
    親メニューのスラッグ。
  • $page_title
    サブメニューページのタイトル。
  • $menu_title
    プルダウンに表示されるメニュー名。
  • $capability
    サブメニューの権限(レベル数または権限名)。
  • $menu_slug
    サブメニューのスラッグ。
  • $function
    サブメニューページのコールバック関数(省略時は'')。
  • $position
    [5.3.0]サブメニューの位置を数値で指定(省略時はnull)。

返り値

サブメニューが登録できた場合はフック名を返す。ログインしているユーザーが指定された権限を所有していない場合はfalseを返す。

注意

パラメータ$parent_slugは親メニューのスラッグで、 add_menu_page関数で登録できるプラグインやテーマの専用メニューの場合には__FILE__が利用されることが多い。

パラメータ$capabilityは、サブメニューを使用できるレベルまたは権限を指定できる(「LevelとCapability」を参照)。

パラメータ$menu_slugにはサイト内でユニークなサブメニューのスラッグを指定する(このスラッグは、サブメニューページのURLのパラメータとなる)。

http://ドメイン/wp-admin/admin.php?page=[$menu_slugの値]

[5.3.0]パラメータ$positionが追加された。0が指定された場合はサブメニューの最上位に、nullかサブメニュー数以上の場合は末尾に追加される。メニュー数未満の場合、array_slice関数を使ってサブメニューの配列が分割され、分割された位置に挿入される(1の場合なら2番目となる)。


使用例

  • プライベートのmytheme_propertiesメニューにmytheme_settingサブメニューを登録する。
    <?php add_submenu_page( 'mytheme_properties', '基本設定', '基本設定', 'edit_themes', 'mytheme_setting', 'mytheme_setting' ); ?>
  • プライベートのmytheme_propertiesメニューにmytheme_settingサブメニューを登録する(コールバック関数がメソッドの場合)。
    <?php add_submenu_page( 'mytheme_properties', '基本設定', '基本設定', 'edit_themes', 'mytheme_setting', array( &$this, 'mytheme_setting' ) ); ?>
  • カスタム投稿タイプ'tools'のメニューにadvanced_settingサブメニューを登録する(コールバック関数がメソッドの場合)。
    <?php add_submenu_page( 'edit.php?post_type=tools', 'ツールの拡張設定', '拡張設定', 'edit_themes', 'advanced_setting', array( &$this, 'advanced_setting' ) ); ?>

フィルター

実行するフィルターはありません。

アクション

実行するアクションはありません。

ソースファイル

/wp-admin/includes/plugin.php

最終更新 : 2022年06月24日 15:01



お勧め

edit_custom_thumbnail_sizesフィルターを使ってみた(2022年5月30日 更新)

アップロード済みの画像は、トリミングや回転、反転といった編集が可能である。6.0.0で追加されたedit_custom_thumbnail_sizesフィルターは、編集された内容を反映させるサイズを拡張するものだったので、さっそく使ってみた。

WordPressと組み込まれている主なJavaScriptライブラリのバージョン一覧(2018年5月27日 更新)

WordPressの更新が遅れていたサイトを少し前に更新したところ、jQuery UI sortableを使って拡張したページに不具合が発生しました。WordPressの更新に伴って内部のjQuery UIが更新されたことに起因すると思われ、これを機にWordPressとそれに組み込まれたJavaScriptライブラリのバージョンを確認してみました。

投稿日の検索が自由自在に(2015年3月7日 更新)

WordPress 3.7.0ではWP_Date_Queryクラスが追加され、WP_Queryクラス(もちろん query_posts関数でも)で利用できるようになった。このWP_Date_Queryにより、○年○月○日以前や以降の投稿情報を取得したり、○年○月○日から○年○月○日の範囲の投稿情報を取得したりといったことが、容易に行えるようになった。

新テーマ「Twenty Twenty-Three」にはfunctions.phpがない(2022年10月6日 更新)

WordPress 6.1に同梱された新テーマ「Twenty Twenty-Three」を見てみると、そこには見慣れたfunctions.phpがない。Full Site Editing(FSE)対応テーマってこんな感じなのかと思いつつ、テーマの設定がどうなっているのか調べてみた。

WordPressのコーディングスタンダードとPSR-2がかみ合わない(2018年5月27日 更新)

先日パソコンのストレージを換装して開発環境を再構築。エディタのEclipseは「Neon(4.6)」から「Oxygen(4.7)」へ切り替わった。コードを書き始めるとそこはかとなく違和感があり、調べていくとPHPの「Code Style(Formatter)」が「PSR-2」に設定されていることが原因だった。