différence entre le rôle et les capacités Meta
Ce serait mieux de demander la comparaison Roleavec Capabilities, non seulement Meta capabilities, mais comme une réponse simple:
A Roledéfinit un ensemble de tâches qu'un utilisateur affecté au rôle est autorisé à effectuer.
Capabilities sont affectés à Roles
différence entre les capacités Meta et Primitive?
Capacités méta
edit_post,, read_postet delete_postsont censés l'être Meta Capabilitiesparce qu'ils dépendent du contexte, par exemple le message en cours de modification / lecture / suppression. Cela n'a aucun sens si vous dites qu'un utilisateur a des edit_postcapacités, car quelqu'un vous demandera: il / elle peut modifier quel message?
Capacités primitives
Ce sont des capacités comme celles edit_postsqui ne dépendent d'aucun contexte et sont intrinsèques à l'utilisateur. Si quelqu'un a des edit_postscapacités, il / elle peut éditer des articles.
quand utiliser le filtre map_meta_cap ()?
Lorsque vous enregistrez un nouveau type de publication à l' aide de register_post_type
, vous avez une option à utiliser pour capability_typelaquelle dit, quelles sont les capacités, similaires à? Là, vous pouvez simplement dire post, ce qui signifie que vos capacités sont similaires à celles du posttype de message.
Bu si vous avez besoin de plus de personnalisation, vous pouvez dire bookou array( 'book', 'books' )(la même chose), par exemple, pour avoir les capacités suivantes:
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',
)
Lors de l'utilisation en capability_typetant que tableau, par exemple tableau («histoire», «histoires»), le premier élément sera utilisé pour les capacités singulières et le second élément de tableau pour les capacités plurielles.
La map_meta_cap()fonction est appelée par WP_User->has_cap()pour convertir une méta-capacité en une ou plusieurs capacités primitives.
Il existe également un map_meta_capparamètre dans register_post_type, qui fait la même chose, lors de l'enregistrement post_type.