本文へジャンプする



会社案内

ブログ

WordPressの管理画面に、オリジナルのメニューを表示する方法(WordPressプラグイン作成日記 #2)

2009年1月12日

WordPressの管理画面には、自由に項目を追加して画面を増やすことができます。

次のサンプルプログラムを見てみましょう。

<?php
/*
Plugin Name: Menu test
Plugin URI: http://h2o-space.com
Description: メニュー追加のテスト
Version: 1.0.0
Author: H2O Space.
Author URI: http://h2o-space.com
*/

add_action('admin_menu', 'h2o_menu');

function h2o_menu() {
  add_submenu_page('post-new.php', 'メニュー追加テストのタイトル', 'メニュー追加テスト', 8, __FILE__, 'menu_function');
}

function menu_function() {
  echo '<div class="wrap">';
  echo '<p>追加メニューの内容はここに記述します</p>';
  echo '</div>';
}
?>

このファイルを、適当なファイル名で保存して「wp-content/plugins」フォルダに格納します。そして、プラグインメニューから有効にすれば準備完了。

「投稿」メニューの一番下に、次のようにメニューが表示されています。

図:追加されたメニュー

これをクリックすると、画面には次のように表示されます。

図:メニューをクリックしたところ

それでは、スクリプトの内容を確認していきましょう。まずは、前回もやった「フック」を使います。
管理メニューが表示されるタイミングで、オリジナルのメニューを追加するようにフックを追加します。

add_action('admin_menu', 'h2o_menu');

すると、h2o_menuというファンクションが呼び出されるので、これを定義します。ここでは、サブメニューを追加するスクリプトを記述しています。

  add_submenu_page('post-new.php', 'メニュー追加テストのタイトル', 'メニュー追加テスト', 8, __FILE__, 'menu_function');

add_submenu_pageには、次のパラメータを指定します。

・追加する親メニュー
・タイトル
・メニューのラベル
・アクセスレベル
・クリックしたときに呼び出すファイル名(自身を呼び出すには __FILE__ とする)
・クリックしたときに呼び出すファンクション

とします。追加する親メニューは、項目によって次のように決まっています。

  • 投稿: post-new.php
  • Appearance: themes.php
  • コメント: edit-comments.php
  • 設定: options-geeral.php
  • プラグイン: plugins.php
  • ユーザー: users.php

こうして、追加されたメニューラベルをクリックすると、指定されたファンクションが呼び出されるので、あとは画面を構成して行けば、新しい管理画面が作れるというわけです。楽ちんです。

エイチツーオー・スペースの最新情報をメールまたはRSSでお受け取りいただけます。ぜひご利用ください。

この記事へのコメント

4件のコメントがあります
AfroNamiHeiの箱
2010年3月11日

WordPressの管理画面で自分のIPアドレスを表示してみる

不要な画面を表示させないWordPressプラグインを作成しました | 京都のホームページ制作会社 クラブエナー
2010年3月29日

[...] WordPress プラグイン作成時のノウハウ WordPressの管理画面に、オリジナルのメニューを表示する方法 WordPressプラグインの作り方(管理パネル篇) WordPressアクションフック一覧 [...]

【プラグイン自作ノウハウ】管理メニューの追加 | WordPress入門記
2010年4月5日

[...] http://wpdocs.sourceforge.jp/Adding_Administration_Menushttp://h2o-space.com/blog/272 [...]

tumblrの画像を表示させるウィジェットの作成。 « 乱雑モックアップ
2010年4月24日

[...] WordPressの管理画面に、オリジナルのメニューを表示する方法(WordPressプラグイン作成日記 #2) | ブログ | ちゃんとWebなホームページ制作会社(東京) エイチツーオー・スペース[H2O Space [...]

お名前
メールアドレス
URL
コメント
 

トラックバック

この記事へのトラックバック
http://h2o-space.com/blog/272/trackback
pagetop


» twilog

あわせて読みたいブログパーツ

サイト内検索

powered by Yahoo! JAPAN