- サイトデザイン工事中です。ご意見をお寄せください。
- 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細)
Adding Contextual Help to Administration Menus
この項目「Adding Contextual Help to Administration Menus」は、翻訳チェック待ちの項目です。加筆、訂正などを通して、Codex ドキュメンテーションにご協力下さい。
目次 |
はじめに
WordPressVersion 3.0から、ビルトイン管理パネルにcontextual helpセクションが含まれており、その管理パネルに表示される様々な設定をナビゲートする追加情報を提供します。普段使うユーザーが普段は見る必要のないテキストを見えなくすることで、WordPressの管理パネルの主パートは簡潔かつ正確にします。
プラグインに追加の管理パネルを追加する場合、メニューにcontextual helpを追加することで、より良いサポートができます。
プラグインに関して、WordPressに管理メニューを追加する方法についての基本的な概要については、管理メニューの追加とプラグイン_API関数をごらんください。
プロット毎にフックが必要
WordPressに新しい管理メニューを追加する関数は、以下のようになります。
<?php
add_action('admin_menu', 'my_plugin_menu');
function my_plugin_menu() {
add_options_page('My Plugin Options', 'My Plugin', 'manage_options', 'my-unique-identifier', 'my_plugin_options');
}
?>
contextual helpメニューをどの管理画面で表示するか知るために、パネルを知る方法が必要です。幸運にも、管理パネルを追加するとき、WordPressはフック、つまり管理パネルの一意識別子、を返すことができます。これを使用するように直前の関数を変更します。
<?php
add_action('admin_menu', 'my_plugin_menu');
function my_plugin_menu() {
global $my_plugin_hook;
$my_plugin_hook = add_options_page('My Plugin Options', 'My Plugin', 'manage_options', 'my-unique-identifier', 'my_plugin_options');
}
?>
フックをグローバル化したことに注意してください。この関数の外で使用する必要があるからです。
Contextual Help関数を追加する
WordPress 3.0 ではcontextual helpメニューに3つのパラメータを渡す必要があります。第一のパラメータ、 $contextual_helpは、この関数によって、ブラウザに出力されるcontextual helpの中身に変更されます。残りの2つのパラメータ、$screen_idと$screenは、実行するページを同定するのに使用します。
<?php
function my_plugin_help($contextual_help, $screen_id, $screen) {
global $my_plugin_hook;
if ($screen_id == $my_plugin_hook) {
$contextual_help = 'This is where I would provide help to the user on how everything in my admin panel works. Formatted HTML works fine in here too.';
}
return $contextual_help;
}
add_action('contextual_help', 'my_plugin_help', 10, 3);
?>
前にグローバル化した$my_plugin_hookにより、$screen_idと一致するかどうかチェックすることができます。一致しない場合は、利用者はこの管理パネルを閲覧していないので、$contextual_helpの値をそのまま次にフックされている関数に渡します。
この関数には3つのパラメータが渡されるので、add_action()コールに10, 3を追加し、追加のパラメータがあることをWordPressに知らせることに注意してください。
その他の使い方
管理パネルは操作中に様々な異なる表示をする場合(例えば、1つの画面で項目の閲覧、追加、編集、削除等を行う)、($_POSTや$_GETの値を調べる等で)この関数に追加ロジックを使用して異なるバージョンのhelpを提供することができます。これを行う場合、プラグイン内の別のPHPファイルにhelpコンテンツを分離して、関数でincludeして参照できるようにしたいかもしれません。
オブジェクト指向プログラミング(OOP)を使用してプラグインを作る場合、全てのフック関数はクラスの一部となり、管理パネルフックもクラスのプロパティとなり、再びグローバル化する必要がないことに注意してください。
最新英語版: WordPress Codex » Adding Contextual Help to Administration Menus (最新版との差分)