WordPressで現在のユーザーが管理者かどうか判定する方法

最終更新日:

WordPressで現在ログインしているユーザーが管理者かどうかを判定する方法を紹介します。管理者だけにコンテンツを表示させたい、もしくは管理者以外に表示させたい場合に役立ちます。

管理者かどうか判定する方法

現在ログインしているユーザーが管理者かどうか判定するには、current_user_can関数を使用します。

管理者かどうか判定するにはcurrent_user_can関数の引数に権限名(manage_optionsなど)を指定します。

管理者の場合

if ( current_user_can( 'manage_options' ) ) {
    //管理者の場合の処理
}

管理者以外の場合

if ( !current_user_can( 'manage_options' ) ) {
    //管理者以外の場合の処理
}

管理者と管理者以外で条件分岐する場合

if ( current_user_can( 'manage_options' ) ) {
    //管理者の場合の処理
} else {
    //管理者以外の場合の処理
}

current_user_can関数の引数に権限グループ(administrator)を指定することは避けましょう。意図しない結果を返す場合があります。

current_user_can関数の使い方は以下の記事でご紹介しています。

ユーザー定義関数を作成する

管理者かどうかを判定するユーザー定義関数を作成するには、テーマ内のfunctions.phpに下記のコードを追加します。

function is_admin_user() {
    return current_user_can( 'manage_options' );
}

下記のように作成したユーザー定義関数を使用します。

if( is_admin_user() ) {
    //管理者の場合の処理
} else {
    //管理者以外の場合の処理
}

よくある使用例

下記のようなケースで管理者かどうかを判定します。

go to top