Desejo criar um recurso personalizado para acessar a interface do meu plugin.
- O plug-in deve gerenciar adicionar esse recurso a todas as contas de administrador na ativação?
- Em caso afirmativo: o WordPress gerencia adicionar a capacidade a todos os administradores de sub-blogs e superusuários em instalações multisite, ou essa função precisa ser tratada pelo plug-in?
Respostas:
Remova o que você adiciona
Primeiro, verifique se tudo o que você adiciona na ativação também é removido na desinstalação . Eu recebi um breve tutorial, incluindo código de exemplo para você.
Teste com um pequeno plugin:
Realmente não sei muito sobre o MU, mas, até onde sei, o objeto role é global em todos os blogs. Apenas tente este pequeno plugin e veja o que você pode obter:
Adicionando recursos
Nota: Você pode adicionar o recurso à função sem conceder acesso a ela - basta definir o segundo argumento
$grant = false;
. Isso permite que usuários únicos da lista de permissões adicionem simplesmente o limite incluindo o último argumento como verdadeiro.fonte
Para um plug-in no qual estou trabalhando, eu queria conceder / restringir o acesso às configurações do plug-in (ou seja, as páginas do menu de administração) de acordo com a função .
Portanto, tive que adicionar um novo plugin específico
capability
ao arquivouser roles
.Infelizmente, a resposta do kaiser parece não estar mais funcionando, então passei algum tempo tentando descobrir como permitir a funcionalidade mencionada acima.
O horário
Antes de compartilhar meu código com você, aqui está o que se trata, em texto simples:
THE_NEW_CAP
a funções com um determinado recurso internoBUILT_IN_CAP
(no meu casoedit_pages
:).O código
E aqui está a lista acima convertida em código:
»Configurando
" Usando isso
»Limpando
Nota: Por favor, não use recursos em maiúsculas. Isso é apenas para facilitar a leitura.
fonte
get_editable_roles()
para buscar as funções que deseja editar. Você irá quebrar os plugins caso contrário.Isso funciona para mim:
fonte