diferença entre os recursos Função e Meta
Isso seria melhor perguntar a comparar Role
com Capabilities
, não apenas Meta capabilities
, mas como uma resposta simples:
A Role
define um conjunto de tarefas que um usuário atribuído à função tem permissão para executar.
Capabilities
são atribuídos a Roles
diferença entre os recursos Meta e Primitivo?
Meta capacidades
edit_post
, read_post
e delete_post
são considerados Meta Capabilities
como dependentes do contexto, por exemplo, a postagem sendo editada / lida / excluída. Isso não faz sentido se você disser que algum usuário tem edit_post
capacidade, porque alguém lhe perguntará: ele / ela pode editar qual post?
Recursos primitivos
São recursos como os edit_posts
que não dependem de nenhum contexto e são intrínsecos ao usuário. Se alguém tiver edit_posts
capabalidade, poderá editar as postagens.
quando usar o filtro map_meta_cap ()?
Ao registrar um novo tipo de postagem usando register_post_type
, você tem uma opção para a capability_type
qual diz quais são os recursos semelhantes? Lá, você pode apenas dizer post
, o que significa que seus recursos são semelhantes aos do post
tipo de postagem.
Se você precisar de mais personalização, poderá dizer book
ou array( 'book', 'books' )
(o mesmo), por exemplo, ter os seguintes recursos:
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',
)
Ao usar capability_type
como uma matriz, por exemplo, matriz ('história', 'histórias'), o primeiro elemento será usado para os recursos singulares e o segundo elemento da matriz para os recursos plurais.
A map_meta_cap()
função é chamada por WP_User->has_cap()
para converter um meta-recurso em um ou mais recursos primitivos.
Também há um map_meta_cap
parâmetro em register_post_type
, que faz a mesma coisa, no registro post_type.