perbedaan antara kemampuan Peran dan Meta
Itu akan lebih baik untuk meminta perbandingan Role
dengan Capabilities
, bukan hanya Meta capabilities
, tetapi sebagai jawaban sederhana:
A Role
mendefinisikan satu set tugas yang diberikan pengguna pada peran yang diizinkan untuk dilakukan.
Capabilities
ditugaskan untuk Roles
perbedaan antara kemampuan Meta dan Primitive?
Kemampuan meta
edit_post
,, read_post
dan delete_post
dikatakan Meta Capabilities
karena mereka tergantung pada konteksnya, misalnya tulisan yang sedang diedit / baca / hapus. Itu tidak masuk akal jika Anda mengatakan, beberapa pengguna memiliki edit_post
kemampuan, karena seseorang akan bertanya kepada Anda: ia dapat mengedit posting mana?
Kemampuan primitif
Ini adalah kemampuan seperti edit_posts
yang tidak bergantung pada konteks apa pun, dan bersifat intrinsik bagi pengguna. Jika seseorang memiliki edit_posts
kemampuan, dia dapat mengedit posting.
kapan harus menggunakan filter map_meta_cap ()?
Ketika Anda mendaftarkan jenis posting baru menggunakan register_post_type
, Anda memiliki opsi untuk menggunakan capability_type
yang mengatakan, apa kemampuannya, mirip dengan? Di sana Anda bisa saja mengatakan post
, artinya kemampuan Anda mirip dengan post
jenis posting.
Namun jika Anda memerlukan lebih banyak penyesuaian, Anda dapat mengatakan book
atau array( 'book', 'books' )
(sama), misalnya, untuk memiliki kemampuan berikut:
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',
)
Saat menggunakan capability_type
sebagai array, misalnya array ('cerita', 'cerita') elemen pertama akan digunakan untuk kemampuan tunggal dan elemen array kedua untuk kemampuan jamak.
The map_meta_cap()
fungsi disebut oleh WP_User->has_cap()
untuk mengkonversi kemampuan meta untuk satu atau lebih primitif kemampuan.
Ada juga map_meta_cap
parameter di register_post_type
, yang melakukan hal yang sama, pada registrasi post_type.