MENU

add_contextual_help()

add_contextual_help() は、WordPress の管理画面にコンテキストヘルプ(ヘルプタブ)を追加するための関数です。

この機能を利用すると、管理画面の各ページに適切な補足情報を表示し、ユーザーの利便性を向上させることができます。ただし、WordPress 3.3 以降では WP_Screen::add_help_tab() に置き換えられており、新しい方法を推奨します。

目次

機能の説明

add_contextual_help() は、特定の管理画面ページに対してヘルプ情報を追加するために使用されます。例えば、カスタム投稿タイプの編集画面や、設定ページに独自のヘルプコンテンツを表示する際に役立ちます。

シンプルなコード例

function my_custom_help($contextual_help, $screen_id, $screen) {
    if ($screen_id === 'edit-post') {
        $contextual_help = '<p>ここに投稿管理のヘルプを記述します。</p>';
    }
    return $contextual_help;
}
add_filter('contextual_help', 'my_custom_help', 10, 3);

このコードでは、投稿一覧画面 (edit-post) にカスタムヘルプを追加しています。

使い方の説明

add_contextual_help() の引数

この関数は以下の 3 つの引数を受け取ります。

  1. $contextual_help – 既存のコンテキストヘルプの内容
  2. $screen_id – 適用する画面 ID
  3. $screenWP_Screen オブジェクト

使用例:管理画面の特定ページにヘルプを追加

function add_custom_help_text($contextual_help, $screen_id) {
    if ($screen_id === 'dashboard') {
        $contextual_help = '<p>これはダッシュボードのヘルプテキストです。</p>';
    }
    return $contextual_help;
}
add_filter('contextual_help', 'add_custom_help_text', 10, 2);

一緒に使うことが多い関連タグ

WP_Screen::add_help_tab()

function add_custom_help_tab() {
    $screen = get_current_screen();
    $screen->add_help_tab(array(
        'id'      => 'custom_help_tab',
        'title'   => 'カスタムヘルプ',
        'content' => '<p>これは新しいヘルプタブの内容です。</p>',
    ));
}
add_action('admin_head', 'add_custom_help_tab');

追加情報で取得したい場合

get_current_screen() を使って画面情報を取得

$screen = get_current_screen();
echo $screen->id;

これにより、現在の管理画面の ID を取得できます。

想定されるトラブル

add_contextual_help() が機能しない

WordPress 3.3 以降では WP_Screen::add_help_tab() を使用する必要があります。新しい API に移行することで解決できます。

Q&A

add_contextual_help() は現在も使用できますか?

一部の環境では動作する可能性がありますが、非推奨のためWP_Screen::add_help_tab() を使用することを推奨します。

WP_Screen::add_help_tab() を使うメリットは?

より柔軟なカスタマイズが可能で、WordPress の将来のバージョンでも確実に動作することが保証されます。

まとめ

add_contextual_help() は、WordPress の管理画面にヘルプを追加するための関数ですが、現在は WP_Screen::add_help_tab() に置き換えられています。

古いテーマやプラグインの保守ではこの関数を見かけることがありますが、新しい開発では WP_Screen::add_help_tab() を利用しましょう。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

This site uses Akismet to reduce spam. Learn how your comment data is processed.

目次