is_admin() の使い方|説明・引数・注意点

説明

is_admin() は、管理画面(ダッシュボード)側のリクエストかどうかを判定する関数です。

基本構文

is_admin(): bool

引数

引数はありません。

戻り値

条件に当てはまれば true、そうでなければ false。

使い方(サンプル)

if ( ! is_admin() ) {
	// フロントエンドだけで実行したい処理
}

注意点

  • ユーザーが管理者かどうかの判定ではありません。管理者権限は current_user_can() で確認します。
  • admin-ajax.php へのリクエストでも true になります。
  • REST APIのリクエストでは false です。

実務での使いどころ

  • 管理画面の中だけで、処理を動かすとき。
  • フロント側だけで動かしたい処理を、管理画面から除外するとき。

よくあるミスと対処

  • 「管理者ユーザーかどうか」の判定だと思っている。実際は「管理画面を表示しているか」の判定で、ユーザーの権限とは無関係。
  • 管理画面のAjax(admin-ajax.php)でも true になる。フロントからのAjaxも同じ。

NG例

if ( is_admin() ) {
	// 管理者ユーザーだけの処理のつもり
}

OK例

if ( current_user_can( 'manage_options' ) ) {
	// 管理者権限を持つユーザーだけの処理
}

使い分け早見表

やりたいこと 使うもの
管理画面を表示しているか is_admin()
権限があるか current_user_can()
ログインしているか is_user_logged_in()

関連項目

current_user_can()、is_user_logged_in()

公式リファレンス:is_admin() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました