differenza tra le funzioni Ruolo e Meta
Sarebbe meglio chiedere il confronto Role
con Capabilities
, non solo Meta capabilities
, ma come una risposta semplice:
A Role
definisce una serie di attività a cui è assegnato un ruolo assegnato all'utente.
Capabilities
sono assegnati a Roles
differenza tra le capacità Meta e Primitive?
Meta capacità
edit_post
, read_post
e delete_post
si dice Meta Capabilities
che dipendono dal contesto, ad esempio il post in fase di modifica / lettura / eliminazione. Non ha senso se dici che qualche utente ha delle edit_post
capacità, perché qualcuno ti chiederà: può modificare quale post?
Capacità primitive
Queste sono funzionalità come quelle edit_posts
che non dipendono da alcun contesto e sono intrinseche all'utente. Se qualcuno ha edit_posts
capabalità, può modificare i post.
quando utilizzare il filtro map_meta_cap ()?
Quando registri un nuovo tipo di post utilizzando register_post_type
, hai un'opzione da utilizzare per la capability_type
quale dice, quali sono le funzionalità, simili a? Lì puoi solo dire post
, il che significa che le tue capacità sono simili a quelle del post
tipo di post.
Bu se hai bisogno di più personalizzazioni, potresti dire book
o array( 'book', 'books' )
(lo stesso), ad esempio, avere le seguenti funzionalità:
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',
)
Quando si utilizza capability_type
come array, ad esempio array ('story', 'stories') il primo elemento verrà utilizzato per le capacità singolari e il secondo elemento array per le capacità plurali.
La map_meta_cap()
funzione viene chiamata WP_User->has_cap()
per convertire una meta-capacità in una o più capacità primitive.
C'è anche un map_meta_cap
parametro in register_post_type
, che fa la stessa cosa, nella registrazione post_type.