Este filtro permite que você estenda a map_meta_cap()
função . Essa função é chamada porWP_User->has_cap()
para converter um meta-recurso em um ou mais recursos primitivos .
Por exemplo, você deseja saber se o usuário atual deve ter permissão para editar a postagem atual, a edit_post
capacidade meta . Isso depende de alguns fatores: o usuário é o autor da publicação? A postagem já foi publicada? A postagem está marcada como particular? Os recursos primitivos são edit_posts
, edit_published_posts
, edit_others_posts
e edit_private_posts
: você pode atribuí-los a funções de usuário . map_meta_cap()
verifica o autor e o status da postagem e retorna o conjunto correto de recursos primitivos que esse usuário deve ter para permitir a edição da postagem (se a postagem for escrita por outra pessoa e publicada, ela retornará array('edit_others_posts', 'edit_published_posts')
, portanto, o usuário deverá ter os dois recursos para continuar).
A adição dessa idéia de meta-capacidades e recursos primitivos permite manter a WP_User
classe base livre do conhecimento de postagens e status de postagens e o que for, além de se concentrar apenas nos recursos. A conversão real está em uma função externa map_meta_cap()
,.
O filtromap_meta_cap
permite estender a funcionalidade, por exemplo, ao usar postagens personalizadas. Acredito que suporte básico seja fornecido se você definir o capabilities
argumento register_post_type
, mas o artigo mencionado por Justin Tadlock e Prospress plugin fornece exemplos completos disso. Mas você pode personalizá-lo para ativar completamente o sistema de recursos, se desejar.