워드 프레스에서 복제 역할을 만드는 방법


25

기존 역할과 동일한 기능으로 새 역할을 만드는 방법 예 : 관리자 나 편집자 등의 동일한 기능으로 새로운 역할을 만들고 싶습니다.


무엇을 시도 했습니까? 무엇이 효과가 있었습니까? 하지 않았다? 멤버스 플러그인 을 사용해 보셨습니까 ? 또는 기능 관리자 플러그인 ? 그들은 당신이 원하는 일을합니까?
soulseekah

모든 것을 시각적으로 수행 하려면 User Role Editor를 사용할 수 있습니다. :)

답변:


33

이것을 시도하십시오 ... 이것은 작동합니다.

<?php
add_action('init', 'cloneRole');

function cloneRole()
{
    global $wp_roles;
    if ( ! isset( $wp_roles ) )
        $wp_roles = new WP_Roles();

    $adm = $wp_roles->get_role('administrator');
    //Adding a 'new_role' with all admin caps
    $wp_roles->add_role('new_role', 'My Custom Role', $adm->capabilities);
}
?>

확인해 봐.


조심해!! 플러그인이 역할과 기능을 추가하기 전에 역할을 복제하는 것으로 보입니다. 이것이 더 나은지 알아보기 위해 admin_init를 시도 할 것입니다.
spankmaster79

@ spankmaster79 네, 제발, 좋을 것입니다!
Rutwick Gangurde

@RutwickGangurde는 더 잘 작동하지 않았습니다. 플러그인에 의해 여전히 역할이 무시 됨
spankmaster79

4

항상 사용자 역할 편집기 플러그인을 사용할 수 있습니다.

  1. 플러그인 설치
  2. 사용자> 사용자 역할 편집기로 이동하십시오.
  3. 오른쪽의 "역할 추가"를 클릭하십시오
  4. 대화 상자의 "복사본 만들기"드롭 다운에서 복제 할 역할을 선택하십시오.
  5. 대화 상자에서 "역할 추가"를 클릭하십시오

0

편집기를 복제한다고 가정하십시오.

$edr = $wp_roles->get_role('Editor');
add_role('clonerole', 'clone roles', $edr->capabilities);

0

내 경우에 효과가 있었던 시스템은 다음과 같습니다.

<?php
add_action('init', 'cloneRole');

function cloneRole() {
 $adm = get_role('administrator');
 $adm_cap= array_keys( $adm->capabilities ); //get administator capabilities
 add_role('new_role', 'My Custom Role'); //create new role
 $new_role = get_role('new_role');
  foreach ( $adm_cap as $cap ) {
   $new_role->add_cap( $cap ); //clone administrator capabilities to new role
  }
}
?>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.