différence entre le rôle et les capacités Meta
Ce serait mieux de demander la comparaison Role
avec Capabilities
, non seulement Meta capabilities
, mais comme une réponse simple:
A Role
dé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_post
et delete_post
sont censés l'être Meta Capabilities
parce 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_post
capacités, car quelqu'un vous demandera: il / elle peut modifier quel message?
Capacités primitives
Ce sont des capacités comme celles edit_posts
qui ne dépendent d'aucun contexte et sont intrinsèques à l'utilisateur. Si quelqu'un a des edit_posts
capacité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_type
laquelle dit, quelles sont les capacités, similaires à? Là, vous pouvez simplement dire post
, ce qui signifie que vos capacités sont similaires à celles du post
type de message.
Bu si vous avez besoin de plus de personnalisation, vous pouvez dire book
ou 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_type
tant 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_cap
paramètre dans register_post_type
, qui fait la même chose, lors de l'enregistrement post_type.