it-swarm-pt.tech

Qual é o uso do filtro map_meta_cap?

Qual é o uso de map_meta_cap filter? Este filtro não está documentado em nenhum lugar. Eu tenho uma ideia clara do que poderia ser:

Usado para mapear as permissões do usuário para operações nas postagens.

O que exatamente isso significa? Se possível, por favor, dê um exemplo de código de amostra de seu uso correto.

19
rsman

Este filtro permite estender a função map_meta_cap() . Esta função é chamada por WP_User->has_cap() para converter uma capacidade meta para uma ou mais capacidades primitivas .

Por exemplo, você quer saber se o usuário atual deve ter permissão para editar a postagem atual, a capacidade meta edit_post . Isso depende de alguns fatores: o usuário é o autor do post? 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 às funções user . map_meta_cap() verifica o autor e o status da postagem e retorna o conjunto correto de recursos primitivos este usuário deve 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'), então o usuário deve ter os dois recursos para continuar).

Adicionando essa idéia de meta capacidades e capacidades primitivas permite que você mantenha a base WP_User classe livre de conhecimento de posts e postar status e qualquer outra coisa, e apenas se concentrar em recursos. A conversão real está em uma função externa, map_meta_cap().

O filtro map_meta_cap permite que você estenda a funcionalidade, por exemplo, ao usar postagens personalizadas. Acredito que o suporte básico é fornecido se você definir o argumento capabilities de register_post_type , mas o artigo mencionado por Justin Tadlock e Prospress plugin fornece exemplos completos disso. Mas você pode personalizá-lo para transformar completamente o sistema de recursos, se desejar.

24
Jan Fabry

Esse filtro pode ser usado para mapear recursos meta para tipos de postagem personalizados. Há um bom exemplo de código neste artigo:

http://justintadlock.com/archives/2010/07/10/meta-capabilities-for-custom-post-types

6
sorich87

Este é o filtro da função map_meta_cap(). A partir da descrição esta função parece escrever capacidade geral ( can_do_stuff ) passado para mais específico (se o autor do post então can_do_this_stuff e can_do_that_stuff_also ), verificando várias condições, se necessário.

Infelizmente não está documentado no Codex e não consigo encontrar uma única chamada direta dessa função na fonte WP 3.0.1.

Você encontrou o uso dessa função ou deseja usá-la para algo? Suponho que, como não parece ser usado, provavelmente existem maneiras novas e melhores para essa funcionalidade.

2
Rarst