Help us understand the problem. What is going on with this article?

【WordPress】 管理画面にメニューを追加する方法

More than 3 years have passed since last update.

管理画面に独自のメニューを追加できる関数
管理画面で好きなようにいじりたいときに便利

functions.php
add_menu_page('ページタイトル', 'メニュータイトル', '権限', 'メニュースラッグ', '呼び出し関数', 'アイコンURL', '表示位置');
オプション 意味
ページタイトル 表示するページのtitle
メニュータイトル メニューに表示される
権限 ユーザーごとのアクセス権
スラッグ 管理するスラッグ
呼び出し関数 呼び出す関数
アイコンURL アイコンのURL
表示位置 いろいろ選べる WordPress管理画面メニューの任意の位置にセパレーターを設置する。

呼び出し関数の中で、表示したい内容を記述すれば、追加したメニューに反映されます。

追記

普通にadd_menu_pageを読んでもエラーになってしまうので、アクションフックを使用します。

functions.php
//管理画面に優先度メニューを追加
function mt_add_pages() {
    add_menu_page( 'page_title', 'menu_title', 'edit_themes', __FILE__, 'priority_edit', '', 8);
}
add_action('admin_menu', 'mt_add_pages');

サブメニューの追加方法

サブメニューを追加したい場合は、add_submenu_pageを使います。
管理メニューの追加 / add_submenu_page の使用

add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function);

functions.php
function add_sub_menu() {
    add_submenu_page('edit.php?post_type=wiki', 'Options', 'Options', 'manage_options', 'wiki-options', array(&$this, 'options_page') );
}
add_action( 'admin_menu', 'add_sub_menu' );

第一引数に親メニューのスラッグ名を設定します。設定できる値は以下。

$parent_slug
ダッシュボード用 index.php
投稿用 post-new.php
メディア用 upload.php
固定ページ用 edit.php?post_type=page
コメント用 edit-comments.php
カスタム投稿タイプ用 edit.php?post_type=your_post_type
外観用 themes.php
プラグイン用 plugins.php
ユーザ用 users.php
ツール用 tools.php
設定用 options-general.php
konweb
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away