概要
show_admin_bar
フィルタは、WordPressの管理バー(ツールバー)の表示を制御するために使用されます。このフィルタを利用することで、特定の条件に基づいて管理バーを強制的に表示または非表示にすることができます。例えば、特定のユーザーがログインしているときや、特定のページを表示しているときに管理バーを隠したり、逆に表示したりすることが可能です。
このフィルタは、次のようなニーズでよく使用されます:
1. 管理者だけが管理バーを表示する。
2. 投稿者や編集者がログインしている場合は管理バーを非表示にする。
3. 特定のカスタム投稿タイプの表示時に管理バーを非表示にする。
4. 特定のユーザーのロールに基づいて管理バーを制御する。
5. フロントエンドのユーザーエクスペリエンスを向上させるために管理バーを隠す。
6. ログイン時に特定のURLでのみ管理バーを表示する。
7. 子テーマなどのカスタマイズ時に管理バーの表示を制御する。
8. 使用しているプラグインが管理バーに関連する機能を持つ場合に管理バーを調整する。
構文
add_filter('show_admin_bar', 'your_function_name');
パラメータ
$show_admin_bar
(bool): 管理バーを表示するかどうかのフラグ。デフォルトはtrue
。
戻り値
- (bool): 管理バーを表示する場合は
true
、非表示にする場合はfalse
。
関連する関数
show_admin_barフィルタに関連する関数を探すことができます。
使用可能なバージョン
このフィルタはWordPressのバージョン3.1以降で使用可能です。
コアファイルのパス
このフィルタはwp-includes/default-constants.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 |
サンプルコード
以下に、show_admin_bar
フィルタを利用した5つのサンプルコードを示します。
サンプルコード1: すべてのユーザーに対して管理バーを非表示にする
add_filter('show_admin_bar', '__return_false');
このコードは、すべてのユーザーに対して管理バーを非表示にします。特に、フロントエンドのクリーンな表示が求められる場合に有用です。
サンプルコード2: 管理者のみ管理バーを表示させる
add_filter('show_admin_bar', function($show_admin_bar) {
return current_user_can('administrator') ? true : false;
});
このコードは、現在のユーザーが管理者であれば管理バーを表示します。それ以外のユーザーは管理バーが非表示になります。
サンプルコード3: 投稿作成時に管理バーを隠す
add_filter('show_admin_bar', function($show_admin_bar) {
if (is_admin() && isset($_GET['action']) && $_GET['action'] === 'edit') {
return false;
}
return $show_admin_bar;
});
このコードは、管理画面で特定のアクションを実行する際に管理バーを隠すことができます。投稿編集時に役立ちます。
サンプルコード4: 特定のページでのみ管理バーを表示
add_filter('show_admin_bar', function($show_admin_bar) {
if (is_page('contact')) {
return true; // コンタクトページでは管理バーを表示
}
return false; // それ以外では非表示
});
このコードは、特定のページ(ここでは「contact」ページ)でのみ管理バーを表示し、他のページでは非表示にします。
サンプルコード5: 特定のユーザーロールに従って管理バーを表示
add_filter('show_admin_bar', function($show_admin_bar) {
if (current_user_can('editor')) {
return true; // エディターのユーザーは管理バーを表示
}
return false; // それ以外のユーザーは非表示
});
このコードは、エディターのユーザーが管理バーを表示できるようにし、他のロールのユーザーは非表示にします。
引用元:
– https://developer.wordpress.org/reference/hooks/show_admin_bar/