2026年8月22日

2026年8月22日

WordPressで管理バーの表示・非表示をロール別に設定する

はじめに

管理バーは、サイト管理者にとって便利な機能ですが、ユーザーが少ない役割を持つユーザーや特定のロールには不要な場合があります。この記事では、WordPressの管理バーを特定のユーザー権限(ロール)だけに表示させる方法について解説します。

症状・背景

  • マネージャー以上の管理者に対してのみ管理バーを表示したい
  • スタッフやゲストユーザーには表示させたくない
  • サイトのメンテナンス性を高めるために、不要な機能は非表示にしたい
  • セキュリティの観点から一部のユーザーグループには管理バーを見せたくない

手順・設定方法

ステップ1: フィルター関数の作成

# WordPressの管理者権限を持つユーザーのみに管理バーを表示させるフィルター関数を作成します。
function custom_admin_bar_only_for_specific_role( $show, $wp_admin_bar ) {
    // 管理者(administrator)ロールを持っている場合のみtrueを返す
    if ( current_user_can('administrator') ) {
        return true;
    } else {
        // それ以外のロールには管理バーを非表示にする
        return false;
    }
}
// add_filter関数を使用して、管理者権限を持つユーザーにのみ管理バーを表示するフィルターを追加します。
add_filter( 'show_admin_bar', 'custom_admin_bar_only_for_specific_role' );

ステップ2: 複数のロールに対する設定

# 『編集者』(editor)と『管理者』(administrator)に管理バーを表示するようにフィルター関数を更新します。
function custom_admin_bar_roles( $show, $wp_admin_bar ) {
    // ロールが「管理者」または「編集者」である場合、trueを返す
    if ( current_user_can('editor') || current_user_can('administrator')) {
        return true;
    } else {
        // それ以外のロールには管理バーを非表示にする
        return false;
    }
}
// 上で定義したフィルター関数を使用して、管理者と編集者にのみ管理バーを表示するように設定します。
add_filter( 'show_admin_bar', 'custom_admin_bar_roles' );

ステップ3: テーマのfunctions.phpファイルへの追加

// WordPressテーマの「functions.php」ファイルを開きます。
# 通常はFTPやウェブホスティングサービスからアクセス可能。

// 上で定義したフィルター関数を「functions.php」ファイル内に追記します。
add_filter( 'show_admin_bar', 'custom_admin_bar_roles' );

ステップ4: コードのテストと確認

# ロールが管理者や編集者のユーザーでログインし、管理バーが表示されることを確認します。
// 管理者権限を持たないユーザーでログインすると、管理バーは非表示になるはずです。

# また、コードに問題がないか確認するために、エラーログファイル(通常は「/wp-content/debug.log」)をチェックするのも良いでしょう。

注意事項

  • テーマの更新時に機能が失われることを防ぐために、カスタムフィルター関数はプラグインまたは子テーマのfunctions.phpファイルで定義することを検討してください。
  • サイトに影響を与える可能性があるため、コードの変更前にバックアップを取っておくことを強く推奨します。
  • ユーザーロールの名前や権限が変更された場合、フィルター関数も更新する必要があります。

まとめ

1. カスタムフィルター関数作成: 管理者権限を持つユーザーに限定して管理バーを表示させるフィルター関数を作成します。

2. 複数ロールへの対応: 必要なユーザー権限のユーザーグループに対し、フィルター関数を更新して対応します。

3. functions.phpへの追加: 作成したカスタムコードをテーマの「functions.php」ファイルに追記します。

4. テストと確認: 各ロールを持つユーザーが管理バーを見える・見えない状態になっていることを確認します。

5. バックアップと保守: 変更前には必ずバックアップを取り、サイトの保守性を考えたコードの保存方法を検討してください。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ