9ヶ月前に投稿

WordPressのAdmin Bar(管理バー)にメニューを追加する

2019年7月9日

この記事は約 4 分で読めます。

4

WordPress上部に表示される
管理バー(Admin Bar)と呼ばれる
ナビゲーションにメニューを
追加したいと思います。

よく使うメニュー、例えば
テーマ Luxeritasの
Luxeritas カスタマイザー、
Luxeritas 管理機能、
子テーマの編集、そして
ログアウトを追加してみます。

WordPress Codexの
Examplesをそのまま使っています。

Admin Barに項目追加

// Admin Barに項目追加
function luxeritas_links($wp_admin_bar)
{
	$args = array(
		'id'     => 'toplevel_page_luxe',
		'title'	 => 'Luxeritas',
		'meta'   => array( 'class' => '' ),
                'href'   => admin_url( 'admin.php?page=luxe'),
	);
	$wp_admin_bar->add_node( $args );
	// add child items
	$args = array();
	array_push($args,array(
		'id'		=>	'luxeritas_page_luxe_man',
		'title'		=>	'Luxeritas 管理機能',
		'href'		=>	 admin_url( 'admin.php?page=luxe_man'),
		'parent'	=>	'toplevel_page_luxe',
	));
	array_push($args,array(
		'id'     	=> 'luxeritas_page_luxe_edit',
		'title'		=> '子テーマの編集',
		'href'		=>  admin_url( 'admin.php?page=luxe_edit'),
		'parent' 	=> 'toplevel_page_luxe',
	));
	sort($args);
	foreach( $args as $each_arg)	{
		$wp_admin_bar->add_node($each_arg);
	}				
}
add_action( 'admin_bar_menu', 'luxeritas_links', 900 ); 

admin_urlというタグを使うと、
管理領域へのURLを適切なプロトコルで取得します。

Admin Barにログアウト

// 管理バーにログアウト
function custom_logout_admin_bar( $wp_admin_bar ) {
	$args = array(
		'id'    => 'custom-logout',
		'title' => 'ログアウト',
		'href'  =>  wp_logout_url(),
	);
	$wp_admin_bar->add_node( $args );
}
add_action( 'admin_bar_menu', 'custom_logout_admin_bar', 999 );

wp logout urlは、
ユーザーがサイトからログアウトすることを
許可するURLを返します。

その他

その他、表示・非表示、
通常は上部に配置してあるAdmin Barを
cssを追加することで下部に配置できます。

検索すればかなりヒットしますが、
以下の記事を参考にしてくださいませ。

貴重なお時間を割き、
最後まで
ご高覧いただきまして
有難うございました
WordPressのAdmin Bar(管理バー)にメニューを追加する