この記事は最後に更新してから1年以上経過しています。
説明
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
関連
お勧め
get_block_editor_settings(2021年8月17日 更新)
array get_block_editor_settings( array $custom_settings, WP_Block_Editor_Context $block_editor_context )
ブロックエディター設定内容を取得する。
urldecode_deep(2019年3月13日 更新)
mixed urldecode_deep( mixed $value )
変数内の文字列についてURLデコード処理を行う。
user_can(2018年5月27日 更新)
bool user_can( mixed $user, string $capability )
ユーザの権限を調べる。
get_locale(2019年1月15日 更新)
string get_locale( )
現在のロケール情報('ja'や'en_US'など)を取得する。
get_comment_time(2023年4月3日 更新)
string get_comment_time( [ string $format = '' [ , bool $gmt = false [ , bool $translate = true [ , int | WP_Comment $comment_id = 0 ] ] ] ] )
コメント投稿日時を取得する。