3

WordPress hoạt động với 'Vai trò', có thể được giải thích tốt nhất cho người mới là 'Chỉ định của nhân viên' trong một công ty. Chủ sở hữu trang web, thường là Quản trị viên, chỉ định các 'Vai trò' này cho người dùng trang web để cung cấp cho họ một bộ 'khả năng', nghĩa là những gì họ có thể hoặc không thể làm trong trang web.

Có 5 vai trò người dùng mặc định trong WordPress với các khả năng (có thể định cấu hình) của riêng họ:

Quản trị viên - người có quyền kiểm soát mọi thứ trên trang web (nội dung, phân loại, chủ đề, plugin, người dùng)

Trình chỉnh sửa - kiểm soát nội dung trên trang web của bạn, có thể xuất bản bài đăng của riêng họ và xuất bản / chỉnh sửa / xóa bài đăng của người khác, nhận xét vừa phải (không thể kiểm soát plugin, chủ đề và người dùng khác)

Tác giả - có thể xuất bản / chỉnh sửa / xóa và thêm thẻ vào bài đăng của riêng họ, xem các bình luận không được chấp thuận

Cộng tác viên - có thể gửi / chỉnh sửa bài đăng của riêng họ (nhưng không xuất bản chúng)

Người đăng ký - có thể truy cập / chỉnh sửa hồ sơ người dùng của riêng họ

Multisite trong WordPress 3.0 đã giới thiệu mạng multisite cho người dùng và tạo ra một vai trò mặc định mới gọi là Super-Admin có khả năng Quản trị viên trên mọi trang web trong một mạng các trang web WordPress ảo cùng với quản lý mạng. Điều này không có gì khó hiểu với Admin, người chỉ giới hạn ở một trang trong mạng Multisite.

Mặc dù WordPress có một bộ khả năng mặc định cho các vai trò này, nhưng chúng có thể được thay đổi thông qua mã / plugin như User Role Editor hoặc Member. Bảng Khả năng và Vai trò trên WordPress Codex là một biểu đồ hoàn chỉnh mô tả các vai trò và khả năng mặc định. Lưu ý rằng bản thân các vai trò không được phân cấp chặt chẽ; họ chỉ mô tả (một cách lỏng lẻo) những gì người dùng có thể hoặc không thể làm, và vì rất dễ để thay đổi chúng (thực sự dễ dàng); không có "thứ bậc" nào để nói, bất kể Bảng Vai trò Khả năng trông như thế nào.

Nguồn:  Codex

Vai trò tùy chỉnh

Vai trò tùy chỉnh cung cấp cho bạn sức mạnh để tạo thêm 'chỉ định nhân viên' trên trang web WordPress cho khách hàng. Ví dụ: trang web thương mại điện tử có thể có các vai trò tùy chỉnh như 'Nhà cung cấp' hoặc 'Người quản lý', những người có khả năng đặc biệt về sản phẩm và đơn đặt hàng. Tương tự, bản thân chủ sở hữu trang web chỉ có thể muốn hoạt động với tư cách là 'Biên tập viên' trong khi để lại các khía cạnh kỹ thuật hơn của các plugin / chủ đề đi kèm với Quản trị cho các nhân viên CNTT của họ.

Vậy, làm thế nào để bạn thêm vai trò mới và gán cho họ 'sức mạnh' của họ (xin lỗi, gần đây tôi đã bị cuốn vào Vũ trụ Điện ảnh Marvel quá nhiều)? Đây là mã làm cho nó xảy ra:

$result = add_role('advanced_contributor', 'Advanced Contributor', array(
    'read' => true, // True to allow this capability
    'edit_posts' => true,
    'delete_posts' => false, // False to explicitly deny this specific capability
));

Mã này có thể được đặt trong tệp tin.php của chủ đề của bạn, nhưng tôi khuyên bạn nên viết một plugin cho các chức năng tùy chỉnh và bao gồm cả các vai trò tùy chỉnh. Điều này giúp đơn giản hóa các vấn đề trong quá trình quản trị hàng ngày và đó là điều mà bạn / khách hàng sẽ đánh giá cao.

Khả năng tùy chỉnh

Khả năng mới có thể được gán cho vai trò.

Kiểm tra bit mã sau đây:

function add_capability() {
        $role = get_role( 'author' ); // This gets the author role
    $role->add_cap( 'edit_others_posts' ); }
add_action( 'admin_init', 'add_capability');

Mã này cung cấp cho Tác giả khả năng chỉnh sửa_others_posts trên trang web WordPress.

Nếu bạn muốn giới hạn điều này với một người dùng cụ thể (vì bạn tin tưởng họ) thay vì thêm một khả năng bổ sung cho một nhóm người có vai trò, đây là cách bạn thực hiện:

$user = new WP_User( $user_id ); 
$user->add_cap( 'can_edit_posts');

Bit này cung cấp khả năng chỉnh sửa bài đăng cho một user_id cụ thể. Bạn có thể sử dụng các plugin như Reveal ID tại đây để tìm hiểu user_id cụ thể.

Các loại bài đăng tùy chỉnh và khả năng

WordPress ánh xạ các khả năng meta (3 quyền trên cơ sở mỗi bài đăng: edit_post, read_post, xóa_post) tự động cho một số người dùng dựa trên vai trò của họ, nhưng chỉ khi bạn sử dụng các loại bài đăng mặc định. Trên các loại bài đăng tùy chỉnh, bạn phải tạo, gán và nghĩ ra một phương thức để tự ánh xạ chúng (bằng cách lọc qua hook map_meta_cap).

Bổ sung:

Có nhiều cách dễ dàng hơn (đọc: không yêu cầu mã hóa) để quản lý vai trò và khả năng của người dùng và đó là các plugin. Đây là một số cái tốt nhất:

Trình quản lý năng lực được tăng cường

Plugin này cho phép bạn tạo vai trò và quản lý khả năng (tất nhiên), nhưng điều tốt nhất tôi thích về plugin này là phủ định khả năng, sao chép vai trò cho tất cả các trang web trên mạng, ủy quyền vai trò quản lý và khả năng làm việc với các loại bài đăng tùy chỉnh. Nhìn chung, đây là một plugin khá hoàn hảo với giao diện người dùng dễ sử dụng.

Thành viên

Cái này được tạo bởi Justin Tadlock (một wiz-kid WordPress từ Alabama.) Ngoài việc tạo và quản lý vai trò / khả năng thông thường, plugin này có các quyền, shortcodes và widget cụ thể chất lượng và tùy chọn 'trang web riêng tư' 'được phép cho bất cứ ai.) Nhiều vai trò người dùng và nhân bản vai trò cũng có thể với Thành viên. Nói chung, một plugin rộng rãi chúng tôi đã sử dụng chính mình.

Ngoài ra còn có các plugin khác giúp quản lý vai trò và khả năng của người dùng dễ dàng hơn.

Chú thích

Tôi hy vọng bài viết này mang lại cho bạn một bước gần hơn với WordPress bằng cách làm rõ không khí về vai trò và khả năng của người dùng. Chúng thực sự không khó lắm: chỉ cần hình dung chúng là các nhân vật của sitcom  The Office  và hơi cầu kỳ về những gì bạn cho phép người dùng của mình làm.

Bài viết này được viết bởi Tracey Jones. Cô là một nhà phát triển WordPress hàng đầu tại HireWPGeek Ltd. và là một blogger theo sở thích. Cô cung cấp  trang web HTML cho các dịch vụ chuyển đổi WordPress và có một nhóm các nhà phát triển để hỗ trợ cô trong mọi dự án.

|