it-swarm.com.de

So erstellen Sie eine Klonrolle in WordPress

So erstellen Sie eine neue Rolle mit den gleichen Funktionen wie die vorhandene Rolle. ZB: Ich möchte eine neue Rolle mit den gleichen Funktionen wie Administrator oder Editor erstellen.

24
Aadi

Versuchen Sie dies ... Dies sollte funktionieren.

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

Prüfen Sie.

31

Sie können immer das User Role Editor Plugin verwenden.

  1. Installieren Sie das Plugin
  2. Gehen Sie zu Benutzer> Benutzerrollen-Editor
  3. Klicken Sie rechts auf "Rolle hinzufügen"
  4. Wählen Sie die zu duplizierende Rolle aus der Dropdown-Liste "Kopie erstellen von" im Dialogfeld aus
  5. Klicken Sie im Dialogfeld auf "Rolle hinzufügen"
3
McOwen

angenommen, Sie möchten den Editor klonen.

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

das System, das in meinem Fall funktioniert hat, ist das folgende:

<?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
  }
}
?>
0
Fosco Ventura