Back to Blog

WordPressに独自の管理メニューを追加する① トップメニューの追加

WordPress

2024/05/27

管理メニューを追加する関数に、add_menu_page()に使って管理メニューを追加を実装します。


add_action('admin_menu', function(){
    add_menu_page(
      string $page_title,  // 必須。メニューが選択されたときにページのタイトルタグに表示されるテキスト。
      string $menu_title,  // 必須。メニューのタイトルに使用するテキスト。
      string $capability,  // 必須。このメニューをユーザーに表示するために必要な権限。
      string $menu_slug,   // 必須。このメニューを参照するスラッグ名。
      callable $function = '', // 任意。このページのコンテンツを出力するために呼び出される関数。
      string $icon_url = '',   // 任意。このメニューに使用されるアイコンへの URL。
      int $position = null     // 任意。この項目が表示されるメニュー順序の位置。
    );
});

・$page_title(必須)
 メニューが選択されたときにページのタイトルタグに表示されるテキスト。
・$menu_title(必須)
 メニューのタイトルに使用するテキスト。
 本記事のサンプルでは、WordPress管理コンソールの左側に「テスト用トップメニュー」と表示されます。
・$capability(必須)
 このメニューをユーザーに表示するために必要な権限。
 本記事のサンプルでは、管理メニューへのアクセスを許可するmanged_options権限を付与しています。
・$menu_slug(必須)
 このメニューを参照するスラッグ名。
 このメニューページに対して一意である必要があります。また、使用できる文字は 小文字の英数字、ダッシュ、およびアンダースコア文字のみです。
・$function(任意)
 このページのコンテンツを出力するために呼び出される関数。
・$icon_url(任意)
 このメニューに使用されるアイコンへの URL。
 plugins_url関数などを使ってプラグインに内包されたアイコンへのURLを渡します。
 また、Dashiconsのフォントアイコンを使用できます。本記事のサンプルでは、カレンダーのアイコンであるdashicons-calendarを使っています。
・$position(任意)
 この項目が表示されるメニュー順序の位置。
 デフォルトでは管理メニュー構造の一番下になります。本記事のサンプルでは指定し、一番上に表示しています。
 メニュー構造にどこに位置づけるかは、下記を参考に設定します。
 2 – ダッシュボード
 4 – セパレーター
 5 – 投稿
 10 – メディア
 15 – リンク
 20 – ページ
 25 – コメント
 59 – セパレーター
 60 – 外観
 65 – プラグイン
 70 – ユーザー
 75 – ツール
 80 – 設定
 99 – セパレーター
・$hook_suffix(任意)
 この管理メニューで表示されるページの処理結果を受け取る関数の接頭子。

Related Posts