Cara membuat peran clone di wordpress


25

Cara membuat peran baru dengan kemampuan yang sama dari peran yang ada. Misalnya: Saya ingin membuat peran baru dengan kapabilitas administrator atau editor yang sama dan seterusnya ..


Apa yang sudah kamu coba? Apa yang berhasil? Apa yang tidak? Sudahkah Anda mencoba Anggota Plugin ? Atau Plugin Capability Manager ? Apakah mereka melakukan hal-hal yang Anda inginkan?
soulseekah

Anda dapat menggunakan Editor Peran Pengguna jika Anda ingin melakukan semuanya secara visual :)

Jawaban:


33

Coba ini ... Ini seharusnya berhasil.

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

Periksa.


Awas!! ini tampaknya mengkloning peran sebelum plugin menambah peran dan kemampuan. Saya akan mencoba admin_init untuk melihat apakah ini lebih baik.
spankmaster79

@ spankmaster79 Ya tolong, itu akan bagus!
Rutwick Gangurde

@RutwickGangurde tidak bekerja lebih baik. Peran masih diabaikan oleh plugin
spankmaster79

4

Anda selalu dapat menggunakan plugin Editor Peran Pengguna ;

  1. Instal pengaya
  2. Buka Pengguna> Editor Peran Pengguna
  3. Klik "Tambahkan Peran" di sebelah kanan
  4. Pilih peran yang ingin Anda duplikasi dari dropdown "Make copy of" di kotak dialog
  5. Klik "Tambahkan Peran" di kotak dialog

0

misalkan Anda ingin mengkloning editor.

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

0

sistem yang berfungsi dalam kasus saya adalah ini:

<?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
  }
}
?>
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.