概要
wp_admin_bar_render
アクションは、WordPressの管理バー(ツールバー)をレンダリングする際に使用されるアクションフックです。このアクションフックは、管理画面のツールバーにカスタム項目を追加するのに役立ちます。特に、管理バーの表示内容を制御したいときに活用されることが多いです。
よく使われる機能
- カスタムメニュー項目の追加
- ユーザーの権限に基づくリンクの表示/非表示
- プラグインやテーマによる独自機能の統合
- アプリケーションに必要なページへのショートカットを作成
- 簡易なカスタム設定ページへのアクセスを提供
- ダッシュボードに関する通知やメッセージの表示
- サポートやヘルプへのリンクの組み込み
- ユーザーの親しみやすい体験を提供するための追加情報
構文とパラメータ
add_action('wp_admin_bar_render', 'my_custom_toolbar_item');
function my_custom_toolbar_item() {
global $wp_admin_bar;
// メニューアイテムを追加
$wp_admin_bar->add_node(array(
'id' => 'my-custom-item',
'title' => 'My Custom Item',
'href' => '#',
'meta' => array(
'title' => 'My Custom Item Tooltip'
)
));
}
戻り値
wp_admin_bar_render
アクション自体には戻り値はありませんが、アクションフックが実行されると、指定したカスタム項目がツールバーに追加されます。
関連する関数
使用可能なバージョン
このアクションは、WordPress 3.1 以降で使用可能です。特定のバージョンで非推奨または削除の対象ではありません。
コアファイルのパス
このアクションは、wp-includes/class-wp-admin-bar.php
ファイルに含まれています。
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプルコード 1: カスタムリンクを管理バーに追加
add_action('wp_admin_bar_render', 'add_custom_link');
function add_custom_link() {
global $wp_admin_bar;
$wp_admin_bar->add_menu(array(
'id' => 'custom_link',
'title' => 'カスタムリンク',
'href' => esc_url('https://example.com'),
'meta' => array('title' => 'カスタムリンクへのタイトル')
));
}
このサンプルコードは、管理バーに「カスタムリンク」という項目を追加し、指定したURLにリンクします。
サンプルコード 2: ユーザーの権限に基づくメニューの表示
add_action('wp_admin_bar_render', 'conditional_menu_item');
function conditional_menu_item() {
global $wp_admin_bar;
if(current_user_can('manage_options')) {
$wp_admin_bar->add_menu(array(
'id' => 'admin_tools',
'title' => '管理ツール',
'href' => '#'
));
}
}
このサンプルでは、現在のユーザーが管理者権限を持っている場合にのみ「管理ツール」メニューを表示します。
サンプルコード 3: サブメニューの追加
add_action('wp_admin_bar_render', 'add_submenu_items');
function add_submenu_items() {
global $wp_admin_bar;
$wp_admin_bar->add_menu(array(
'id' => 'parent_menu',
'title' => '親メニュー',
'href' => '#'
));
$wp_admin_bar->add_menu(array(
'id' => 'child_item',
'parent' => 'parent_menu',
'title' => '子メニュー',
'href' => '#'
));
}
このサンプルコードは、親メニューとその下に子メニューを追加しています。
サンプルコード 4: ツールバーにカスタムメッセージを表示
add_action('wp_admin_bar_render', 'custom_message_item');
function custom_message_item() {
global $wp_admin_bar;
$wp_admin_bar->add_node(array(
'id' => 'custom_message',
'title' => 'カスタムメッセージ: こんにちは!',
'meta' => array('class' => 'custom-class')
));
}
このコードは、ツールバーに「カスタムメッセージ: こんにちは!」というメッセージを表示します。
サンプルコード 5: カスタムアイコン付きメニューの追加
add_action('wp_admin_bar_render', 'add_icon_menu');
function add_icon_menu() {
global $wp_admin_bar;
$wp_admin_bar->add_menu(array(
'id' => 'icon_menu',
'title' => '<span class="ab-icon dashicons dashicons-admin-site"></span> アイコンメニュー',
'href' => '#'
));
}
このサンプルでは、管理バーにカスタムアイコン付きのメニューを追加しています。アイコンはDashiconsライブラリから取得しています。