>CMS 튜토리얼 >Word누르다 >일부 WordPress 사용자 역할이 백엔드에 들어가지 못하도록 제한하는 방법

일부 WordPress 사용자 역할이 백엔드에 들어가지 못하도록 제한하는 방법

藏色散人
藏色散人앞으로
2020-04-05 17:10:003041검색

일부 WordPress 사용자 역할이 백엔드에 들어가지 못하도록 제한하는 방법

때때로 WordPress를 일부 사용자 역할이 백엔드에 액세스하지 못하도록 제한하고 싶을 때가 있는데, 이는 다음 코드를 통해 달성할 수 있습니다.

1. 관리자, 편집자 및 작성자 역할만 백엔드에 액세스할 수 있습니다

현재 테마 함수 템플릿 function.php에 다음 코드를 추가합니다.

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;
}
}

로그인 여부와 사용자 역할을 결정하고 사용자 역할을 금지합니다. 백엔드 접속에서 바로 점프하기 홈페이지 홈페이지로 이동합니다.

프런트 엔드 사용자 센터와 같이 지정된 페이지 링크로 이동해야 하는 경우 4번째 줄의 코드를 유사하게 수정하면 됩니다.

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

사이트 내 링크로만 이동할 수 있고 외부 링크로는 이동할 수 없습니다. .

관리자만 백엔드에 접근할 수 있는 경우 편집자와 작성자가 백엔드에 진입할 수 있도록 허용하는 코드를 삭제할 수 있습니다:

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

2. 기본 등록 사용자 역할이 백엔드에 진입하는 것을 금지합니다.

기본 등록 사용자 역할은 WordPress 백엔드 → 설정 → 일반을 의미하며 새 사용자의 기본 역할에서 역할을 설정합니다.

if ( is_admin() && ( !defined( 'DOING_AJAX' ) || !DOING_AJAX ) ) {
$current_user = wp_get_current_user();
if($current_user->roles[0] == get_option('default_role')) {
wp_safe_redirect( home_url() );
exit();
}
}

코드 출처: www.ludou.org

새 사용자의 기본 역할을 수정하면 이전에 등록된 다른 역할을 가진 사용자에게는 해당 내용이 유효하지 않게 됩니다.

위 두 코드는 판단을 추가했으며 프런트엔드 Ajax 요청에 영향을 미치지 않습니다.

관련 추천: "WordPress Tutorial"

위 내용은 일부 WordPress 사용자 역할이 백엔드에 들어가지 못하도록 제한하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 zmingcx.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제