ホームページ  >  記事  >  CMS チュートリアル  >  一部の WordPress ユーザーロールがバックエンドに入るのを制限する方法

一部の WordPress ユーザーロールがバックエンドに入るのを制限する方法

藏色散人
藏色散人転載
2020-04-05 17:10:002882ブラウズ

一部の WordPress ユーザーロールがバックエンドに入るのを制限する方法

WordPress によるバックエンドへのアクセスを一部のユーザー ロールに制限したい場合があります。これは、次のコードで実現できます。

1. 管理者、編集者、および作成者の役割のみがバックエンドへのアクセスを許可されます

次のコードを現在のテーマ関数テンプレート function.php に追加します。ログインおよびユーザー ロール、バックエンドへのアクセスが禁止されているユーザー ロールは、Web サイトのホームページに直接ジャンプします。

フロントエンド ユーザー センターなど、指定したページ リンクにジャンプする必要がある場合は、4 行目のコードを次のように変更できます。

add_action( 'init', 'zm_redirect_wp_admin' );
function zm_redirect_wp_admin() {
if ( is_admin() && is_user_logged_in() && !current_user_can( 'manage_options' ) && !current_user_can( 'publish_pages' ) && !current_user_can( 'publish_posts' ) && ( !defined( 'DOING_AJAX' ) || !DOING_AJAX )  ){
wp_safe_redirect( home_url() );
exit;
}
}

リンクにのみジャンプできますサイト外のリンクではなく、サイト内で。

管理者のみがバックエンドへのアクセスを許可されている場合は、編集者と作成者がバックエンドにアクセスできるようにするコードを削除できます:

wp_safe_redirect( 'https://zmingcx.com/' );

2. デフォルトの登録ユーザーを禁止します。バックエンドへのアクセスからのロール

デフォルトの登録済みユーザー ロールは、WordPress バックエンド → 設定 → 一般を参照し、新規ユーザーのデフォルト ロールにロールを設定します。

&& !current_user_can('publish_pages') && !current_user_can('publish_posts')

コードのソース: www.ludou.org

新しいユーザーのデフォルトのロールを変更すると、以前に登録された他のロールを持つユーザーに対しては無効になります。

上記の 2 つのコードには判断機能が追加されており、フロントエンドの Ajax リクエストには影響しません。

関連する推奨事項:「

WordPress チュートリアル

以上が一部の WordPress ユーザーロールがバックエンドに入るのを制限する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はzmingcx.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。