Jak stworzyć rolę klona w wordpress


25

Jak utworzyć nową rolę z tymi samymi możliwościami co istniejąca rola. Np .: Chciałbym utworzyć nową rolę z tymi samymi możliwościami administratora lub edytora i tak dalej ...


Czego próbowałeś? Co zadziałało Co nie Próbowałeś już wtyczki dla członków ? Czy wtyczka Capability Manager ? Czy robią to, czego chcesz?
soulseekah

Możesz użyć Edytora ról użytkownika, jeśli chcesz wszystko zrobić wizualnie :)

Odpowiedzi:


33

Spróbuj tego ... To powinno działać.

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

Sprawdź to.


Uważaj!! wydaje się, że to klonuje rolę, zanim wtyczki dodają role i możliwości. Spróbuję admin_init, aby zobaczyć, czy to jest lepsze.
spankmaster79

@ spankmaster79 Tak, proszę, będzie świetnie!
Rutwick Gangurde

@RutwickGangurde nie działał lepiej. Wtyczka nadal ignoruje rolę
spankmaster79

4

Zawsze możesz użyć wtyczki User Role Editor ;

  1. Zainstaluj wtyczkę
  2. Przejdź do Użytkownicy> Edytor ról użytkownika
  3. Kliknij „Dodaj rolę” po prawej stronie
  4. Wybierz rolę, którą chcesz powielić, z menu rozwijanego „Utwórz kopię” w oknie dialogowym
  5. Kliknij „Dodaj rolę” w oknie dialogowym

0

załóżmy, że chcesz sklonować edytor.

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

0

system, który działał w moim przypadku, jest następujący:

<?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
  }
}
?>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.