
前回はプラグインを準備するとこまでしました。
今回はプラグインを管理画面の
メニューに表示をさせてみます。
管理メニューを表示するアクションを作成
管理画面のメニューに表示を追加するためには
add_menu_page関数を使います。
add_menu_page(''page_title'', ''menu_title'', ''access_level/capability'', ''file'', ''[function]'', ''[icon_url]'', '表示位置');
page_title
メニューが有効になった時に表示されるHTMLのページタイトル用テキスト。
menu_title
管理画面のメニュー上での表示名。
access_level/capability
このメニューページを閲覧・使用するために最低限必要なユーザーレベルまたはユーザーの種類と権限 。
管理者が10。編集者が7。投稿者が2。寄稿者が1。購読者が0。通常は8
file
メニューページのコンテンツを表示するPHPファイル。
スラッグ名 通常は __FILE__(自分自身へのパスの定数)
function
メニューページにコンテンツを表示する関数。
技術的に言うとfunctionパラメータはオプションですが、指定されていない場合、WordPressは基本的にインクルードされたPHPファイルが管理画面を出力するものと仮定し、関数を呼び出しません。ほとんどのプラグイン作者はページ生成コードを持つ関数をメインのプラグインファイル内に書いています。
icon_url
メニューにカスタムアイコンを追加します。
アイコンをCSSで指定する場合は’none’にする
空白で設定すると「Dashicons」のギアのアイコンが設定されます。
他のアイコンを使用する場合はDashiconsのサイトを参考にアイコンの名前を入れます。
Dashicons
表示位置
表示位置の参考は
2:ダッシュボード
4:【スペース】
5:投稿
10:メディア
15:リンク
20:固定ページ
25:コメント
59:【スペース】
60:外観
65:プラグイン
70:ユーザー
75:ツール
80:設定
99:【スペース】
以上を踏まえて、メニューを表示するためのアクションを作成します。
前回作ったcsv-uploader-plugin.phpに以下を追記します。
//管理画面にメニューを追加 function add_pages(){ add_menu_page('CSVアップローダー', 'CSVアップローダー', 'level_8', __FILE__, 'csv_upload', 'dashicons-upload',26); } //プラグインの表示 function csv_upload(){ echo "<h2>CSVアップローダー</h2>"; }
これで、メニューを表示する準備ができました。
フックメソッドでメニューを表示
先ほど準備したメニューを管理画面のメニューに表示させるため
フックメソッドを使って
メニューを表示させます。
今回はadd_actionを使ってフックします。
add_action(フックされるアクション名, 追加する関数)
フックされるアクションは管理画面のメニューのadmin_menuです。
先ほどメニューを作ったadd_pagesをフックします。
// 管理メニューに追加するフック add_action('admin_menu', 'add_pages');
これで、プラグインを有効にします。

有効化にすると
メニューに「CSVアップローダー」という文字が現れます。

まだ、CSVアップローダーの中身を作っていませんので
csv_upload関数で作った内容のみしか表示されません。

次回は中身を実装していきます。
(参考)
管理メニューの追加