WordPress 사용자 관리 : 역할 및 권한에 대한 심층 분석
WordPress의 사용자 관리 시스템은 역할과 권한을 기반으로합니다. 역할은 고유 한 이름과 일련의 권한을 포함하는 엔티티이며, 각각은 해당 역할의 플랫폼 별 기능에 대한 액세스 수준을 정의합니다. WordPress 역할 및 권한의 작동 메커니즘을 파헤쳐 봅시다.
키 포인트
WordPress의 사용자 관리는 역할과 권한을 기반으로합니다. 역할에는 역할을 통해 플랫폼의 다른 기능에 대한 액세스 수준을 정의하는 고유 한 이름과 권한 세트가 있습니다.
WordPress는 역할과 권한을 사용자 정의하기위한 포괄적 인 API를 제공합니다. , ,
및 와 같은 함수를 사용하여 역할 및 권한을 관리 할 수 있습니다. 그러나 이러한 기능을 사용할 때는 데이터베이스 액세스 및 성능에주의를 기울여야합니다.
역할과 권한을 다룰 때 데이터베이스 문제를 피하는 몇 가지 방법이 있습니다. 한 가지 방법은 플러그인이 활성화 된 경우에만 코드를 트리거하는 것입니다. 또 다른 방법은
글로벌 변수를 설정하여 WordPress 데이터베이스를 우회하는 것입니다.
add_role()
장면 메커니즘으로 돌아 가기
remove_role()
역할 스토리지 add_cap()
기본 역할 및 권한 목록은 WordPress Codex에서 사용할 수 있습니다. remove_cap()
데이터베이스는이 목록을
테이블에 저장합니다.
직렬화 된 키를 사용합니다. register_activation_hook()
사형화 된 데이터는 다음과 같습니다
$wp_user_roles
이 메타 데이터는 새 WordPress 사이트가 설치 될 때 자동으로 설정됩니다.
WordPress가 시작되면 클래스가 데이터베이스에서 목록을로드합니다.
이것은
와
후크 사이에서 발생합니다.
사용자를 역할로 연결하십시오
WordPress는
테이블에 저장되어 사용자를 자신의 역할에 연결합니다.
사막화 후, 메타 데이터는 다음과 같습니다
는 WordPress가 배열을 사용하지만 사용자는 한 번에 하나의 역할을 할 수 있지만 나중에 이유를 알 수 있습니다. <p>
또한, <code>wp_options</code>는 현재 블로그의 접두사입니다. </p>
<get> ( 함수를 사용하여 얻을 수 있음). <p>
<i> 다중 사이트 설치에서 사용자는 다른 사례에서 다른 역할을 사용할 수 있습니다.
<code>wp_user_roles</code>
</i></p> = & gt;
<p> = & gt;
<img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173967775148011.jpg" class="lazy" alt="Mastering WordPress Roles and Capabilities "> = & gt;
</p> <pre class="brush:php;toolbar:false"><code>array(
'administrator' => array(
'name' => '管理员',
'capabilities' => array(
'switch_themes' => true,
'edit_themes' => true,
'activate_plugins' => true,
'edit_plugins' => true,
'edit_users' => true,
// [...]
)
),
'contributor' => array(
'name' => '投稿者',
'capabilities' => array(
'delete_pages' => true,
'delete_others_pages' => true,
'delete_published_pages' => true,
'delete_posts' => true,
// [...]
)
),
// [...]
);</code>
이 규칙은 우리가
테이블에서 본 항목에도 적용됩니다. 마지막으로, 우리는 메타 데이터와 역할을 볼 수 있습니다. wp_user_level
는 이전 버전의 WordPress의 문자를 다루는 데 사용되며 이제는 더 이상 사용되지 않습니다.
핵심 코드에서 권한을 사용하십시오
우리는 역할이 어떻게로드되고 사용자에게 연결되어 있는지 배웠습니다.
일부 기본 권한은 WordPress 핵심 코드에서 하드 코딩됩니다.
예를 들어, 플러그인 화면이로드되면 다음 코드를 실행하여 현재 사용자가 플러그인을 관리 할 수 있는지 확인합니다.
역할은 결코 하드 코딩되지 않습니다. 역할은 데이터베이스에만 존재합니다.
역할 및 권한 사용 : WordPress API
Access Api
WordPress는 역할을 처리하는 데 도움이되는 다음과 같은 글로벌 기능을 제공합니다.
현재 사용자가 필요한 권한이 있는지 확인하십시오.
<code>array(
'administrator' => array(
'name' => '管理员',
'capabilities' => array(
'switch_themes' => true,
'edit_themes' => true,
'activate_plugins' => true,
'edit_plugins' => true,
'edit_users' => true,
// [...]
)
),
'contributor' => array(
'name' => '投稿者',
'capabilities' => array(
'delete_pages' => true,
'delete_others_pages' => true,
'delete_published_pages' => true,
'delete_posts' => true,
// [...]
)
),
// [...]
);</code>
특정 사용자가 권한이 있는지 확인하십시오.
우리는 가이 함수를 사용한다는 것을 알 수 있습니다.
는 편집 가능한 역할로 돌아갑니다.
current_user_can()
이 목록은 필터에 의해 덮어 쓰일 수 있으므로 웹 사이트에서 전체 역할 목록을 얻기 위해이 기능에 의존해서는 안됩니다.
위 내용은 WordPress 역할 및 기능 마스터 링의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!