この記事は最後に更新してから1年以上経過しています。

管理画面でツールバー(Admin bar)を非表示にする

説明

WordPress使ってちょっと変わったサイトを構築する際、管理画面のツールバーを表示させたくないケースがある。一般に公開するサイト側であれば、 show_admin_bar関数で非表示にできるのだが、管理画面ではこれを使ってもツールバーは消えてくれない。

困った時はソースコードを見る。

今回注目したのは is_admin_bar_showing関数。名前の通りツールバーを表示するか調べる関数で、この関数の中では is_admin関数にて管理者がログインしていれば必ずtrueを返して、ツールバーを表示させている。また、is_admin関数でチェックする前に、'XMLRPC_REQUEST'、DOING_AJAX'、'IFRAME_REQUEST'のいずれかが定義されていれば必ずfalseを返すようになっている。

この情報をもとにこれらの中でいちばん影響がなさそうな'IFRAME_REQUEST'を事前に定義することで、ツールバーが見事に表示されなくなった。具体的な対応としては、使用しているテーマのfunctions.phpに次のコードを追加すればいい。

if ( !function_exists( 'mytheme_init' ) ) {
	add_action( 'init', 'mytheme_init' );
	function mytheme_init() {
		define( 'IFRAME_REQUEST', 1 );
	}
}

管理画面のツールバーはIDが'wpadminbar'なので、JavaScriptで非表示にする方法もあるわけだが、こちらの方法のほうがルツールバー表示に関わる処理を省けるメリットがある。
まあ、かなり特殊なケースなんだけどね。


最終更新 : 2013年03月05日 11:38


お勧め

wp_add_post_tags(2012年7月5日 更新)

mixed wp_add_post_tags( [ int $post_id = 0 [ , string $tags = '' ] ] )
投稿情報に投稿タグを追加する。

get_tags(2018年5月27日 更新)

array get_tags( [ mixed $args = '' ] )
条件を指定してタグ情報を検索し、マッチしたすべてのタグ情報を取得する。

wp_array_slice_assoc(2022年2月2日 更新)

array wp_array_slice_assoc( array $array, array $keys )
キーを指定して配列の一部を抽出する。

get_post_permalink(2022年11月6日 更新)

string | false get_post_permalink( [ int | WP_Post $id$post = 0 [ , bool $leavename = false [ , bool $sample = false ] ] ] )
カスタム投稿タイプの投稿ページのパーマリンクを取得する。

remove_query_arg(2024年3月21日 更新)

string remove_query_arg( string | string[] $key [ , bool | string $query = false ] )
クエリーURIからパラメータ(キー名=値)を削除する。