diferença entre os recursos Função e Meta
Isso seria melhor perguntar a comparar Rolecom Capabilities, não apenas Meta capabilities, mas como uma resposta simples:
A Roledefine 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_poste delete_postsão considerados Meta Capabilitiescomo 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_postcapacidade, porque alguém lhe perguntará: ele / ela pode editar qual post?
Recursos primitivos
São recursos como os edit_postsque não dependem de nenhum contexto e são intrínsecos ao usuário. Se alguém tiver edit_postscapabalidade, 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_typequal diz quais são os recursos semelhantes? Lá, você pode apenas dizer post, o que significa que seus recursos são semelhantes aos do posttipo de postagem.
Se você precisar de mais personalização, poderá dizer bookou 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_typecomo 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_capparâmetro em register_post_type, que faz a mesma coisa, no registro post_type.