ワードプレスにログインしているユーザーを特定の管理画面のページアクセスできなくする方法をご紹介いたします。
ワードプレスのプロフィールページにアクセスできないようにする
ワードプレスのプロフィールページにログインユーザーがアクセスできないようにするコードは下記となります。
テーマのFunctions.PHPやプラグインに記載されることで動作します。
add_action( 'load-profile.php', function() { exit( wp_safe_redirect( admin_url() ) ); } );
こちらのコードは、load-profile.php の太字部分を管理画面のどのページのPHPファイルに変更されても動作します。
例えば、
add_action( 'load-post-new.php', function() { exit( wp_safe_redirect( admin_url() ) ); } );
と新規投稿を作るページpost-new.phpにload-以下を変更されるとユーザーは新規投稿画面にアクセスできないようにすることができます。
アクセスしたときにエラー文面を表示するには
上記のコード例では、ダッシュボードに強制的にリダイレクトしましたが、下記のようなコードにすることでエラー文だけを表示することも可能です。
add_action( 'load-profile.php', function() { wp_die( 'このページは表示できません' ); } );