WordPressサイトの管理バーを管理者にのみ表示する方法を解説します。特定のユーザー権限とユーザー設定に基づいて管理バーの表示を制御する方法を紹介します。
関数の定義
まず、管理バーの表示を制御するカスタム関数を定義します。この関数では、現在のユーザーが管理者かどうかを確認し、さらに管理バーの表示設定を考慮します。
function my_show_admin_bar() {
$result = false;
// 現在のユーザーが「administrator」権限を持っているかどうかを確認
if (current_user_can('administrator')) {
// 現在のユーザーのIDを取得
$user_id = get_current_user_id();
// ユーザーの管理バー表示設定を取得
$show_admin_bar = get_user_meta($user_id, 'show_admin_bar_front', true);
// 管理バー表示設定がオフでない場合
if ($show_admin_bar !== 'false') {
$result = true;
}
}
return $result;
}
フィルターに関数を追加
次に、add_filter を使用して show_admin_bar フィルターにカスタム関数を追加します。このフィルターにより、管理バーの表示が制御されます。
add_filter('show_admin_bar', 'my_show_admin_bar');
完全なコード
以下が完全なコードです。このコードをテーマの functions.php ファイルに追加してください。
function my_show_admin_bar() {
$result = false;
// 現在のユーザーが「administrator」権限を持っているかどうかを確認
if (current_user_can('administrator')) {
// 現在のユーザーのIDを取得
$user_id = get_current_user_id();
// ユーザーの管理バー表示設定を取得
$show_admin_bar = get_user_meta($user_id, 'show_admin_bar_front', true);
// 管理バー表示設定がオフでない場合
if ($show_admin_bar !== 'false') {
$result = true;
}
}
return $result;
}
add_filter('show_admin_bar', 'my_show_admin_bar');
まとめ
この手順に従うことで、WordPressサイトの管理バーを管理者にのみ表示することができます。カスタム関数を使用し、ユーザーの権限と表示設定に基づいて管理バーの表示を制御する方法を学びました。これにより、サイトの管理をより効率的に行うことができるでしょう。