【WP】管理者以外が管理画面にアクセスしたらリダイレクトさせる方法 functions.php

WordPressの管理画面へ管理者権限を持つユーザー以外のログインがあった場合、ログイン後にダッシュボードではなく、指定のページにリダイレクトさせる方法をご紹介します。

管理者以外のユーザーが管理画面にアクセスしたらリダイレクト

ご利用のWordPressテーマのfunctions.phpに以下のコードを追加します。

function restrict_admin_with_redirect() {

	if ( ! current_user_can( 'manage_options' ) && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) ) {
		wp_redirect( site_url() ); 
		exit;
	}
}

add_action( 'admin_init', 'restrict_admin_with_redirect', 1 );

管理者のみ管理画面へのアクセスを許可し、それ以外のすべてのユーザーはサイトのTOPページにリダイレクトします。

補足情報

  • current_user_can():現在のユーザーが権限を持つ、またはその権限を持つ権限グループに属しているかどうか。
  • add_action( 'admin_init', 'function_name' ):admin_init はユーザーが管理画面エリアにアクセスする際に他のフックより先に実行されます。このフックはパラメーターを持ちませんので、特定の関数をコールバックすることだけが可能です。

公式サイト

https://wpdocs.osdn.jp/プラグイン_API/アクションフック一覧/admin_init

https://wpdocs.osdn.jp/関数リファレンス/current_user_can

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!