Как создать роль клона в WordPress


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 Да, пожалуйста, это будет здорово!
Рутвик Гангурде

@RutwickGangurde не работал лучше. Роль по-прежнему игнорируется плагином
spankmaster79

4

Вы всегда можете использовать плагин User Role Editor ;

  1. Установите плагин
  2. Перейдите в Пользователи> Редактор ролей пользователей.
  3. Нажмите «Добавить роль» справа
  4. Выберите роль, которую вы хотите дублировать, из раскрывающегося списка «Сделать копию» в диалоговом окне.
  5. Нажмите «Добавить роль» в диалоговом окне


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
  }
}
?>
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.