OK, estou procurando a melhor maneira de atacar isso.
Estou muito confortável com o PHP e criando tipos de post personalizados com meta campos personalizados no WordPress.
Aqui está o que eu estou olhando para fazer:
- O usuário registra e é definido no assinante por padrão.
- O usuário solicita ao administrador permissão para o tipo de postagem personalizado.
- Admin atribui usuário a outro nome de permissão como "Dono da loja".
- Agora o usuário pode ver o tipo de postagem personalizado e pode fazer uma entrada para esse tipo de postagem.
- O usuário pode apenas ver e editar sua própria postagem.
Preciso de ajuda para o seguinte:
- Como criar uma nova "Função" chamada "Dono da loja",
- Como conceder a permissão correta para a referida função ver e ter acesso apenas ao tipo de postagem personalizado.
- Permitir apenas que o usuário veja e edite suas próprias postagens nesse tipo de postagem personalizada.
Idealmente, eu preferiria que tudo isso fosse feito pelo wp-admin, mas acho que talvez seja necessário criar um front end para isso para obter o controle finito que estou procurando.
Qualquer entrada é muito apreciada.
Atenciosamente
'map_meta_cap' => true
e'capability_type' => 'shopowner'
no meu tipo de postagem personalizado. Eu criei uma nova função chamadaShopOwner
e recebi os recursos de read, edit_shopowner, delete_shopowner. Defina um usuário para a função ShopOwner e faça logon com esse usuário. Esse usuário não pode ver o tipo de postagem personalizado. Perdi alguma coisa?edit_shopowners
edelete_shopowners
.edit_shopowner
edelete_shopowner
são meta-capacidades que nunca são realmente verificadas. Eles são verificados quando alguém tenta editar ou excluir um item específico e acabam verificando coisas como "Este usuário pode excluir esses tipos de itens? Eles podem excluir apenas os seus próprios ou outros também? Eles podem excluir itens publicados?" etc.O tipo de postagem do registro possui um parâmetro chamado "capacidades", para que você possa ter, por exemplo
http://codex.wordpress.org/Function_Reference/register_post_type
Para criar um novo usuário / função / recurso, você pode usar add_role, add_cap, para um exemplo simples de introdução:
fonte
Você já pensou em olhar para Gravity Forms ou TDO Mini Forms para lidar com o envio de conteúdo real? Cada um deles possui uma funcionalidade que o levaria a avançar no sentido de lidar com sanidade com o conteúdo enviado pelo usuário.
fonte
Uma maneira mais fácil e eficiente de conseguir isso instalando um plug-in chamado "Advance Access Manager", você não precisará escrever a funcionalidade, mas ainda terá um nível decente de controle sobre os usuários, funções e o que eles podem fazer. A maioria das coisas que você deseja pode ser alcançada por este plugin.
fonte