sự khác biệt giữa khả năng Vai trò và Meta
Điều đó sẽ tốt hơn để hỏi so sánh Role
với Capabilities
, không chỉ Meta capabilities
, mà là một câu trả lời đơn giản:
A Role
xác định một tập hợp các tác vụ mà người dùng được gán vai trò được phép thực hiện.
Capabilities
được giao cho Roles
sự khác biệt giữa khả năng của Meta và Primitive?
Khả năng meta
edit_post
, read_post
và delete_post
được cho là Meta Capabilities
bởi vì chúng phụ thuộc vào ngữ cảnh, ví dụ bài đăng đang được chỉnh sửa / đọc / xóa. Điều đó thật vô nghĩa nếu bạn nói, một số người dùng có edit_post
khả năng, bởi vì ai đó sẽ hỏi bạn: cô ấy / anh ấy có thể chỉnh sửa bài đăng nào?
Khả năng nguyên thủy
Đây là những khả năng edit_posts
không phụ thuộc vào bất kỳ bối cảnh nào và là nội tại đối với người dùng. Nếu ai đó có edit_posts
capabality, cô ấy / anh ấy có thể chỉnh sửa bài viết.
Khi nào nên sử dụng bộ lọc map_meta_cap ()?
Khi bạn đăng ký loại bài đăng mới bằng cách sử dụng register_post_type
, bạn có một tùy chọn để sử dụng cho capability_type
biết, các khả năng này, tương tự như thế nào? Ở đó bạn chỉ có thể nói post
, có nghĩa là khả năng của bạn tương tự như post
loại bài đăng.
Bu nếu bạn cần tùy chỉnh nhiều hơn, bạn có thể nói book
hoặc array( 'book', 'books' )
(tương tự), ví dụ, để có các khả năng sau:
capabilities' => array(
'edit_post' => 'edit_book',
'read_post' => 'read_book',
'delete_post' => 'delete_book',
'edit_posts' => 'edit_books',
'edit_others_posts' => 'edit_others_books',
'publish_posts' => 'publish_books',
'read_private_posts' => 'read_private_books',
'create_posts' => 'edit_books',
)
Khi sử dụng capability_type
như một mảng, ví dụ như mảng ('câu chuyện', 'câu chuyện'), phần tử đầu tiên sẽ được sử dụng cho các khả năng số ít và phần tử mảng thứ hai cho các khả năng số nhiều.
Các map_meta_cap()
chức năng được gọi bằng WP_User->has_cap()
để chuyển đổi một khả năng meta để một hoặc nguyên thủy hơn khả năng.
Ngoài ra còn có một map_meta_cap
tham số register_post_type
, thực hiện điều tương tự, khi đăng ký post_type.