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_postcapacidade 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_postse 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_Userclasse 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 capabilitiesargumento 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.