Hướng dẫn get user role wordpress
Từ phiên bản WordPress 2.0 có đưa ra khái niệm Roles. Mỗi user role cho phép thực hiện một nhóm chức nhất định gọi là Capabilities. Plugin này cho phép bạn tạo và quản lý nhiều user với quyền sử dụng khác nhau, không chỉ quản lý Role mặc định trong wordpress bạn có thể tạo Role và Capabilities mới. Trước tiên, bạn tải plugin
Role Manager và cài đặt vào wordpress. Cập nhật phiên bản mới nhất trên sourceforge.net Với plugin bạn dễ dàng quản lý roles, sau khi kích hoạt plugin có một vài menu mới sinh ra ở dưới menu Users, bạn nhấn vào “Role”. Thiết lập User level từ 0-10, chọn giá trị cho từng role khác nhau nhưng không có nghĩa giới hạn tối đa 11 Roles. Chức năng User level giúp bạn nhóm các roles lại với nhau thông qua chỉ số level. Xắp xếp thứ tự theo role cao nhất là Administrator (Editor, Author, Contributor, Subscriber ). Ngoài ra, cho phép bạn tạo User Role mới, kéo thanh cuộn xuống dưới. Nhập tên Role và thiết lập Capabilities cho role mới, giống như bạn checkbox giới hạn một số lệnh trong SQL với database trên hosting vậy. Cuối cùng hoàn tất nhấn vào nút Create Role. Quản lý CapabilitiesBạn có thể định nghĩa thêm quyền sử dụng Capabilities, bằng cách nhấn vào menu Users->Capabilities, bạn có thể tạo mới Capability. Ví dụ tôi tạo Capabilities tên ‘Capabi1’, quyền này bạn sẽ kiểm tra và giới hạn sử dụng với user
trong code, và trong danh sách Roles sẽ xuất hiện capability này cho bạn lựa chọn. Sử dụng hàm if ( current_user_can('moderate_comments') ) { echo 'The current user can moderate comments'; } Hoặc mình có tạo hàm kiểm tra roles như sau: roles as $role) { // Does user have role if (in_array($role,$roles)) { return TRUE; } } // User not in roles return FALSE; } Ùage: // Define roles to check $roles = array('editor','author'); // Check roles $in_role = check_user_role($roles); // Do something based on role if ($in_role) { // User in role, do something } else { // User not in role do something else } Cách sử dụngThêm user với role mới, bây giờ mình tạo thử user và gán role mới tạo cho user. Trong code bạn có thể gán role cho user với hàm $result = add_role( 'role1', __( 'Role 1' ), array( 'read' => true, // true allows this capability 'edit_posts' => true, 'delete_posts' => false, // Use false to explicitly deny ) ); if ( null !== $result ) { echo 'Yay! New role created!'; } else { echo 'Oh... the basic_contributor role already exists.'; } Chú ý: nhớ rằng biến function add_roles_on_plugin_activation() { add_role( 'custom_role', 'Custom Subscriber', array( 'read' => true, 'level_0' => true ) ); } register_activation_hook( __FILE__, 'add_roles_on_plugin_activation' ); Ngoài ra có thể sử dụng trong hook User Role EditorĐây cũng là một plugin cho phép bạn tạo và quản lý User Role khá chuyên nghiệp, với lượt tải trên một triệu người dùng sử dụng. Một vài hình ảnh mô tả tính năng: Download plugin User Role Editor, chi tiết: https://wordpress.org/plugins/user-role-editor/ |