วิธีสร้างบทบาทการโคลนนิ่งในเวิร์ดเพรส


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

คุณสามารถใช้ปลั๊กอินUser Role Editor ;

  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.