Cấp quyền truy cập cho biên tập viên


15

Tôi muốn cấp quyền truy cập Vai trò biên tập để chỉnh sửa thanh bên và nội dung của nó. Tôi có một tiện ích văn bản trong đó và để chỉnh sửa tiện ích văn bản này, người dùng cần phải là quản trị viên - điều này thật tệ. Làm cách nào để tôi cấp quyền cho Vai trò Biên tập viên sẽ cấp cho anh ta quyền truy cập để chỉnh sửa thanh bên?


Điều này có thể liên quan: wordpress.stackexchange.com/questions/13413/ trộm
Elliott

Nó dường như là loại những gì tôi đang tìm kiếm nhưng tôi không hiểu mã. Có vẻ như
ngần ngại

Câu trả lời:


21

Các edit_theme_optionskhả năng nên cho phép người dùng chỉnh sửa thanh bên như mô tả trên trang này: http://codex.wordpress.org/Appearance_Widgets_SubPanel

Mã để thêm vào functions.php

   $role = get_role('editor'); 
   $role->add_cap('edit_theme_options');

Biên tập:

Điều này sẽ hoạt động để ngăn chặn trình soạn thảo truy cập các chủ đề hoặc menu

function custom_admin_menu() {

    $user = new WP_User(get_current_user_id());     
    if (!empty( $user->roles) && is_array($user->roles)) {
        foreach ($user->roles as $role)
            $role = $role;
    }

    if($role == "editor") { 
       remove_submenu_page( 'themes.php', 'themes.php' );
       remove_submenu_page( 'themes.php', 'nav-menus.php' ); 
    }       
}

add_action('admin_menu', 'custom_admin_menu');

Tôi chưa có cơ hội kiểm tra điều này, nhưng nó chỉ xóa chúng khỏi menu mà chúng vẫn có thể truy cập chúng bằng cách nhập URL trực tiếp.


Điều đó hoạt động như một sự quyến rũ nhưng sau đó làm thế nào để tôi không cho họ truy cập menu hoặc chủ đề?
Howdy_McGee

Xem câu trả lời chỉnh sửa của tôi.
Elliott

Lỗi nghiêm trọng: Gọi đến hàm không xác định remove_menu_page () - Ngoài ra tôi không lo lắng về việc họ gõ nó bằng URL Tôi thực sự nghi ngờ ai đó sẽ trở nên độc hại và thậm chí đó chỉ là chủ đề và menu. Và tôi không thể +1 bài viết của bạn đủ! Cảm ơn!
Howdy_McGee

Xin lỗi đã thêm mã sai, remove_submenu_pagemặc dù bạn vẫn không nên có lỗi nghiêm trọng. Tôi đã chỉnh sửa câu trả lời của mình và kiểm tra và tất cả đều hoạt động tốt với tôi?
Elliott

1
Ồ, đó là lý do tại sao sau đó chỉ được hỗ trợ kể từ 3.1.0, tôi không gặp lỗi gì kể từ khi nâng cấp ... Tôi luôn đề nghị nâng cấp lên phiên bản mới nhất để giúp giữ an toàn.
Elliott

1

Nếu bạn chỉ muốn cấu hình điều này dễ dàng nhất có thể, hãy sử dụng plugin Thành viên. Khả năng bạn sẽ cần thêm là 'edit_theme_options'. Xin lưu ý rằng điều này sẽ cấp nhiều hơn không chỉ khu vực vật dụng, điều này cũng cấp cho người biên tập quyền truy cập vào toàn bộ menu Giao diện. Xem tại đây

http://wordpress.org/extend/plugins/members/

Nếu bạn muốn thực hiện việc này theo chương trình, bạn sẽ cần sử dụng add_cap ().

$editor = get_role('editor');
$editor->add_cap('edit_theme_options');

Bạn có thể ném mã đó vào plugin riêng của mình và bạn đã hoàn thành. Hoặc đặt nó vào hàm.php .


Và nếu bất cứ ai đang sử dụng Trình chỉnh sửa vai trò người dùng khá phổ biến, bạn cũng có thể chọn 'Chỉnh sửa tùy chọn chủ đề' / 'edit_theme_options' ở đó.
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.