エス技研WordPress専科

WordPressの基本的な使い方から SEOの対応、プラグイン情報、カスタマイズ方法を解説します。


WordPress管理画面のメニューに項目を追加する方法解説

      2015/06/15

WordPressの管理画面のメニューに項目を追加する方法

 

管理画面のメニューは menu-header.phpだけども...

 
WordPressの管理画面のメニューは、「/wp-admin/menu-header.php」ファイルで処理されていますので、直球勝負ならこのファイルを変更することで対応できます。
 
このファイルの下の方にある

do_action( 'adminmenu' );
?>

の下あたりに、下記のような感じで HTMLを追加すれば、メニューを追加することができます。
—————

<div class="wp-menu-toggle"><br /></div>
<li class="wp-has-submenu menu-top menu-top-last" id="menu-settings">
  <div class='wp-menu-image'><a href='options-general.php'><br /></a></div>
  <div class="wp-menu-toggle"><br /></div>
  <a href='index2.php' class="wp-has-submenu menu-top menu-top-last" tabindex="1">親メニュー</a>
  <div class='wp-submenu'>
    <div class='wp-submenu-head'></div>
    <ul>
      <li class="wp-first-item"><a href='index2.php' class="wp-first-item" tabindex="1">子メニュー</a></li>
      <li class="wp-first-item"><a href='index3.php' class="wp-first-item" tabindex="1">子メニュー</a></li>
    </ul>
  </div>
</li>

—————
 
ですが、このファイルは、WordPressのバージョンアップを行うと、差し替えられてしまうファイルですので、基本的には修正を行わないファイルです。
(上記の HTMLを追記しても、バージョンアップの度に消えてしまいますので、その都度対応が必要になってきます。)
 
 

「add_action ( ‘admin_menu’, ‘function名’ );」でメニューを追加する

 
ではどうするか?
 
WordPressには、管理画面のメニューに項目を追加する機能も用意されていますのでそれを使って項目を追加します。
 
具体的には「functions.php」に
————-
add_action ( ‘admin_menu’, ‘function名’ );
————-
の関数を用いて、メニューを追加していきます。
 
※functions.phpがある場所
/{WordPressがインストールされている場所}/wp-content/themes/{テーマ名}/functions.php
  詳細は「WordPressの functions.phpがある場所」を参照
 
 


 

「add_action ( ‘admin_menu’, ‘function名’ );」のサンプルコード

 
—————————-

add_action ( 'admin_menu', 'artist_add_pages' );

function artist_add_pages () {
  add_menu_page('テストタイトル', 'テストメニュー', 8, 'index2.php', 'test_page');
  add_submenu_page('index2.php', 'テストタイトルサブ', 'テストメニューサブ', 8, 'index3.php', 'test_page');}

function test_page() {
    echo '<h2>メニュー追加テストページ</h2>';
}

—————————-
 
上記のコードを「functions.php」にコピペすることで、下記の様にメニューが追加されます。
 
20140616_wp_1
 
また、リンク先の URLは「http://*******/wp-admin/admin.php?page=index2.php」となり、リンク先のページのタイトルは「<title>テストタイトル ‹ テスト — WordPress</title>」となっています。
 
 
add_menu_page関数、add_submenu_page関数の解説は、以下の通りです。
 
add_menu_page関数は、トップレベルのメニュー追加(メニューの一番下に追加)の際に利用します。
add_submenu_page関数は、上記で追加した親メニューの子メニューとして追加する際に利用します。
 
引数の順番と意味は、下記の通りとなっています。

add_menu_page('HTML のページタイトル', 'メニュータイトル', 'ユーザレベル', 'リンク先', 'リンクの引数');

add_submenu_page('親メニューのリンク先', 'HTML のページタイトル', 'メニュータイトル', 'ユーザレベル', 'リンク先', 'リンクの引数');

 
HTML のページタイトル:リンク先のページの titleタグに編集される値
メニュータイトル:管理画面のメニューに表示されるテキスト
ユーザレベル:ユーザの管理権限によって表示する、しないの条件設定
    「ユーザーの種類と権限」については、オフィシャルサイトを参照してください。
    http://wpdocs.sourceforge.jp/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%81%AE%E7%A8%AE%E9%A1%9E%E3%81%A8%E6%A8%A9%E9%99%90
リンク先:リンク先のファイル名
リンクの引数:リンク先のファイル名に引数を指定する場合に指定
親メニューのリンク先:リンク先のファイル名に引数を指定する場合に指定
 
※add_menu_page関数は /wp-admin/includes/plugins.php 893 行目で定義されています。
※add_submenu_page関数は /wp-admin/includes/plugins.php 998 行目で定義されています。
 
 
上記サンプルの 4行目の add_menu_pageの 5番目の引数を nullにして下記の様に設定することで、リンク先の URLを「http://*******/wp-admin/index2.php」にすることもできます。
 

  add_menu_page('テストタイトル', 'テストメニュー', 8, 'index2.php', '');

 
 

項目ごとにメニューを追加する方法

 
WordPressの管理画面メニューには、add_menu_page関数、add_submenu_page関数以外にも多くの関数が用意されています。
それぞれの項目で、サブメニューを設定したい場合は、上記で説明した「add_submenu_page」を使うことで設定することができます。
 
—————————-

function artist_add_pages () {

  // トップレベルメニュー追加(メニューの一番下に追加される)
  add_menu_page('テストページタイトル', 'テストメニュー', 8, 'sample.php', 'test_page');

  // 「テストメニュー」にサブメニューを追加
  add_submenu_page('sample.php', 'テストページタイトル', 'サブメニュー', 8, 'sub_test.php', 'test_page');

  // トップレベルメニュー追加(コメントの下に追加される)
  add_object_page('テストページタイトル', 'テストメニュー2', 8, 'sample2.php', 'test_page');

  // トップレベルメニュー追加(設定の下に追加される)
  add_utility_page('テストページタイトル', 'テストメニュー3', 8, 'sample3.php', 'test_page');

  // 「ダッシュボード」の項目にサブメニュー追加
  add_dashboard_page('テストページタイトル', 'ダッシュボードメニュー', 8, 'test', 'test_page');

  // 「投稿」の項目にサブメニューを追加
  add_posts_page('テストページタイトル', '投稿メニュー', 8, 'test', 'test_page');

  // 「ページ」の項目にサブメニューを追加
  add_pages_page('テストページタイトル', 'ページメニュー', 8, 'testpage', 'test_page');

  // 「メディア」の項目にサブメニューを追加
  add_media_page('テストページタイトル', 'メディアメニュー', 8, 'test', 'test_page');

  // 「コメント」の項目にサブメニューを追加
  add_comments_page('テストページタイトル', 'コメントメニュー', 8, 'test', 'test_page');

  // 「プラグイン」の項目にサブメニューを追加
  add_plugins_page('テストページタイトル', 'プラグインメニュー', 8, 'test', 'test_page');

  // 「ユーザー」の項目にサブメニューを追加
  add_users_page('テストページタイトル', 'ユーザーメニュー', 8, 'test', 'test_page');

  // 「設定」の項目にサブメニューを追加
  add_options_page('テストページタイトル', '設定メニュー', 8, 'test', 'test_page');

  // 「ツール」の項目にサブメニューを追加
  add_management_page('テストページタイトル', 'ツールメニュー', 8, 'test', 'test_page');

  // 「外観」の項目にサブメニューを追加
  add_theme_page('テストページタイトル', '外観メニュー', 8, 'test', 'test_page');

}

—————————-

 - WordPressの基本設定

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload the CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

Export to Textで WordPressを csv出力

WordPressのデータを csv出力する Export to Textの使い方を解説しています。

WordPressの確認画面付フォーム MW WP Formの使い方詳細解説

WordPressの確認画面付お問い合わせフォームプラグイン「MW WP Form」の詳細解説をしています。

プラグインが原因で起動しないWordPressを復旧させる方法解説

プラグインが原因で WordPressが起動できなくなった、ログインできなくなった場合の対処方法の解説です。

WordPressのスラッグとは?

WordPressのスラッグって何?それを解説している記事です。なんとなく分かっている気になっているものを改めてしっかり確認をしてみませんか?

WordPress プラグインのアップデート失敗でデータが消える事態が!

プラグインのアップデート失敗でデータが消失。不具合が起こる原因はあちこちにありますので常に慎重にバックアップをしましょう。

BackWPupでバックアップ・全体バックアップ具体的設定例

BackWPupその7。ファイル、DB全体をバックアップする具体的事例での説明です。

BackWPupでバックアップ・設定したJobの実行、ファイル一覧

BackWPupその4。バックアップ設定した Jobを実行する方法、ログの一覧、保存されたファイル一覧の解説です。

BackWPupでWordPressのDBもファイルもバックアップ

BackWPupその1。BackWPupとWordPressのバックアップについての解説。

CSV Importerで WordPressにcsvを取込む

WordPressに csvファイルを取り込む CSV Importerの使い方の解説です。

WordPressの高速化でSEO対策!広告費も削減!高速化の施策のまとめ

WordPressを高速化するためのまとめ記事。これまで多様な高速化の対応を行ってきましたが、それを具体的に何をすればいいかが一目でわかるようまとめ記事にしました。


Warning: Trying to access array offset on null in /home/ss-giken/s-giken.net/public_html/wordpress/wp-content/plugins/amazonjs/amazonjs.php on line 637