Làm thế nào để tạo một vai trò nhân bản trong wordpress


25

Làm thế nào để tạo vai trò mới với khả năng tương tự của vai trò hiện có. Ví dụ: Tôi muốn tạo một vai trò mới với cùng khả năng của quản trị viên hoặc biên tập viên, v.v.


Bạn đã thử những gì? Những gì đã làm việc? Cái gì không? Bạn đã thử Plugin thành viên chưa? Hoặc Plugin quản lý khả năng ? Họ có làm những điều bạn muốn không?
soulseekah

Bạn có thể sử dụng Trình chỉnh sửa vai trò người dùng nếu bạn muốn thực hiện mọi thứ một cách trực quan :)

Câu trả lời:


33

Hãy thử điều này ... Điều này sẽ làm việc.

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

Kiểm tra nó.


Xem ra!! điều này dường như sao chép vai trò trước khi bổ sung thêm vai trò và khả năng. Tôi sẽ thử admin_init để xem điều này có tốt hơn không.
spankmaster79

@ spankmaster79 Vâng, làm ơn, điều đó sẽ rất tuyệt!
Rutwick Gangurde

@RutwickGangurde không hoạt động tốt hơn. Vai trò vẫn bị bỏ qua bởi plugin
spankmaster79

4

Bạn luôn có thể sử dụng plugin Trình biên tập vai trò người dùng ;

  1. Cài đặt plugin
  2. Chuyển đến Người dùng> Trình chỉnh sửa Vai trò Người dùng
  3. Nhấp vào "Thêm vai trò" ở bên phải
  4. Chọn vai trò bạn muốn nhân đôi từ danh sách thả xuống "Tạo bản sao" trong hộp thoại
  5. Nhấp vào "Thêm vai trò" trong hộp thoại

0

giả sử bạn muốn sao chép trình soạn thảo.

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

0

hệ thống hoạt động trong trường hợp của tôi là thế này:

<?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
  }
}
?>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.