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 はユーザーが管理画面エリアにアクセスする際に他のフックより先に実行されます。このフックはパラメーターを持ちませんので、特定の関数をコールバックすることだけが可能です。