Cách tạo phân quyền vai trò tùy chỉnh trong WordPress
Vai trò xác định một tập hợp các khả năng cho người dùng. Ví dụ: những gì người dùng có thể thấy và làm trong trang tổng quan của họ.
Theo mặc định, WordPress có sáu vai trò :
- Quản trị viên cấp cao
- Người quản lý
- Biên tập viên
- Tác giả
- Người đóng góp
- Người đăng kí
Đôi khi chúng tôi cần tạo các vai trò tùy chỉnh trong trang web của mình để quản lý người dùng. Tại đây chúng ta có thể tạo các role tùy chỉnh trong wordpress.
Tạo vai trò tùy chỉnh cho wordpress với plugin
User Role Editor– Trình chỉnh sửa vai trò người dùng plugin WordPress cho phép bạn thay đổi vai trò và khả năng của người dùng dễ dàng.
Members – Membership & User Role Editor Plugin – Thành viên là một plugin thành viên WordPress dựa trên vai trò và khả năng. Nó mang lại cho người dùng của bạn trải nghiệm thành viên tuyệt vời nhất bằng cách cung cấp cho bạn các công cụ mạnh mẽ để thêm vai trò và khả năng cũng như chỉ định chúng cho người dùng của bạn.
Advanced Access Manager – Kiểm soát truy cập nội dung trên giao diện người dùng, phụ trợ và cấp API cho các bài đăng, trang, tệp đính kèm phương tiện, loại bài đăng tùy chỉnh, danh mục, thẻ, phân loại tùy chỉnh cho bất kỳ vai trò, người dùng và khách truy cập nào. Quản lý vai trò & khả năng với khả năng tạo vai trò và khả năng mới, chỉnh sửa, sao chép hoặc xóa hiện có.
WPFront User Role Editor – Plugin WPFront User Role Editor cho phép bạn dễ dàng quản lý các vai trò của người dùng WordPress trong trang web của mình. Bạn có thể tạo, chỉnh sửa hoặc xóa vai trò người dùng và quản lý khả năng của vai trò.
Tạo vai trò tùy chỉnh cho wordpress mà không cần plugin
Nếu bạn muốn tạo các vai trò tùy chỉnh mà không cần plugin, hãy dán đoạn mã được cung cấp bên dưới vào tệp functions.php trong thư mục chủ đề của bạn.
add_action('after_setup_theme','client_add_role_function');
function client_add_role_function(){
$roles_set = get_option('client_roles_are_set');
if(!$roles_set){
$result = add_role( 'client', __(
'Client' ),
array(
'read' => true,
'edit_posts' => true,
'edit_pages' => true,
'edit_others_posts' => true,
'create_posts' => true,
'manage_categories' => true,
'publish_posts' => true,
'edit_themes' => false,
'install_plugins' => false,
'update_plugin' => false,
'update_core' => false
)
);
update_option('client_roles_are_set',true);
}
}
Bây giờ chúng tôi có Khách hàng vai trò tùy chỉnh của mình và chúng tôi có thể tạo người dùng tùy chỉnh với các vai trò này. Trong đoạn mã trên, chúng ta đã sử dụng hàm add_role của wordpress . Chúng tôi cũng đã thêm một số khả năng hoặc quyền vào Khách hàng vai trò tùy chỉnh của chúng tôi –
- read => true , Cho phép người dùng đọc trang tổng quan
- edit_posts => true , Cho phép người dùng chỉnh sửa bài đăng của họ
- edit_pages => true , Cho phép người dùng chỉnh sửa trang
- edit_other_posts => true , Cho phép người dùng chỉnh sửa bài đăng của người khác không chỉ của riêng họ
- create_posts => true , Cho phép người dùng tạo bài đăng mới
- management_categories => true , Cho phép người dùng quản lý các danh mục bài đăng
- Publishing_posts => true , Cho phép người dùng xuất bản, nếu không, các bài đăng vẫn ở chế độ nháp
- edit_themes => true , Người dùng không thể chỉnh sửa chủ đề của bạn
- install_plugins => false , Người dùng không thể thêm plugin mới
- update_plugin => false , Người dùng không thể cập nhật bất kỳ plugin nào
- update_core => false , Người dùng không thể thực hiện cập nhật cốt lõi
Cuối cùng, chúng tôi đã sử dụng hook after_setup_theme của wordpress. Bạn có thể đọc chi tiết ở đây.
Nếu bạn muốn tạo menu tùy chỉnh trong giao diện người dùng cho vai trò tùy chỉnh này thì hãy đọc bài viết của chúng tôi về cách tạo menu cho người dùng đã đăng nhập trong wordpress .
Bạn cũng có thể tạo mẫu tùy chỉnh cho vai trò người dùng tùy chỉnh. Chỉ cần theo dõi bài viết cách tạo mẫu bài viết tùy chỉnh trong wordpress và thêm điều kiện vai trò người dùng này.
Sử dụng đoạn mã dưới đây, bạn có thể nhận được vai trò người dùng hiện tại trong wordpress.
if( is_user_logged_in() ) {
$user = wp_get_current_user();
$roles = ( array ) $user->roles; // This returns an array
}
Hãy like share subscribe và đưa ra những phản hồi tích cực để mình có động lực viết nhiều hơn cho các bạn.
Để biết thêm hướng dẫn , hãy truy cập trang web của tôi .
Cảm ơn 🙂
Happy Coding 🙂