この記事は最後に更新してから1年以上経過しています。
説明
プラグインや一部のテーマでは管理画面の左側にあるナビゲーションメニューに任意のサブメニューを追加できる。従来、追加したサブメニューは既存のサブメニューの末尾となっているが、5.3ではその場所を指定できるようになる。
サブメニューは末尾に追加される
まずはおさらい。管理画面の「設定」メニューにサブメニューを追加する場合、 add_options_page関数を使用する。
function my_option_submenu1() {
// サブメニュー1の内容を記述
}
function my_admin_menu() {
add_options_page( 'サブメニュー1', 'サブメニュー1', 'manage_options', 'option_submenu1', 'my_option_submenu1' );
}
add_action( 'admin_menu', 'my_admin_menu' );
管理画面の「設定」メニューを展開すると、上記で指定した「サブメニュー1」は末尾に追加されている。
このことは「投稿」や「ツール」など、ほかのメニューも同様である。
関連する関数にパラメータ$positionが追加される
5.3 RC2のソースコードを眺めていると、add_options_page関数にパラメータ$positionが追加されており、そのほかのサブメニューを追加する関数も同様だった。このパラメータ$positionは int 型で、省略時は null となっている。
上記のadd_options_page関数のパラメータに「0」を追加してみる。
add_options_page( 'サブメニュー1', 'サブメニュー1', 'manage_options', 'option_submenu1', 'my_option_submenu1', 0 );
表示された「設定」メニューでは、「サブメニュー1」が「一般」の上になっている。
今度はパラメータを「0」から「3」に変更してみる。
add_options_page( 'サブメニュー1', 'サブメニュー1', 'manage_options', 'option_submenu1', 'my_option_submenu1', 3 );
「サブメニュー1」は期待通り「表示設定」の次になる。
このように、パラメータ$positionに数値を指定することで、サブメニューを好みの位置に表示できるようになる。
最後に5.3でパラメータ$positionが追加されたサブメニュー関数をまとめる。
関数名 | 概要 |
---|---|
add_submenu_page | サブメニュー関数の本体 |
add_dashboard_page | 「ダッシュボード」メニュー |
add_posts_page | 「投稿」メニュー |
add_media_page | 「メディア」メニュー |
add_pages_page | 「固定ページ」メニュー |
add_comments_page | 「コメント」メニュー |
add_theme_page | 「外観」メニュー |
add_plugins_page | 「プラグイン」メニュー |
add_users_page | 「ユーザー」メニュー |
add_management_page | 「ツール」メニュー |
add_options_page | 「設定」メニュー |
add_links_page | 「リンク」メニュー |
なお、サブメニューの表示内容はそのほかのプラグインの影響を受ける。複数のプラグインを使用する場合は、それらのロード順や'admin_menu'アクションを実行する優先度を考慮しよう。
最終更新 : 2019年10月29日 11:36
関連
お勧め
wp_unique_id(2023年11月10日 更新)
post_type_exists(2016年5月23日 更新)
get_the_author_link(2022年5月30日 更新)
is_utf8_charset(2024年7月18日 更新)
wp_spam_comment(2013年9月6日 更新)