Ao escrever plugins do WordPress, geralmente é necessário configurar opções para quais funções no site têm acesso a determinadas funcionalidades ou conteúdos. Para fazer isso, um desenvolvedor de plug-in precisa buscar a lista de funções que existem no site para usar na opção Como as funções personalizadas podem ser criadas, não podemos assumir que as funções padrão sejam as únicas disponíveis.
Qual é a melhor maneira de buscar a lista?
security
users
capabilities
user-roles
jerclarke
fonte
fonte
Respostas:
As funções são armazenadas na variável global
$wp_roles
.A função ideal é
get_editable_roles()
de/wp-admin/includes/user.php
A parte "editável" é porque oferece a outros plugins a chance de filtrar a lista caso alguém que não seja administrador tenha
'edit_users'
privilégio (e, portanto, 'admin' precisa ser removido da lista, caso contrário o usuário pode se tornar administrador). Os plug-ins de gerenciamento de funções usados para criar funções personalizadas são os que usariam esse filtro. Caso contrário, essa função é essencialmenteget_roles()
(que não existe) .Presumivelmente, seu plug-in oferecerá apenas a página de configurações em questão para alguém que possui recursos no nível de administrador, como
'manage_options'
e é basicamente um administrador com acesso a todas as funções, portanto o filtro não deve afetá-lo.Também existe o
wp_dropdown_roles()
que fornece as funções como<option>
campos para uma<select>
lista (embora as caixas de seleção provavelmente funcionem melhor em muitos cenários em que você escolhe quem tem acesso a algo) .fonte
Tente o seguinte:
PS heh, perdeu essa explicação e resposta, muito rápido me :)
fonte
Aqui está como você pode encontrar a lista de funções sem nenhum plug-in ou função http://screencast.com/t/uaWsGLAR3Sh
fonte
Para aqueles que possuem site multilíngue, função
retorna uma matriz localizada assim (os nomes das funções estão no idioma eslovaco):
fonte
É assim que se obtém uma matriz de todas as funções de usuário existentes e os recursos de cada função no WordPress. Se você não quiser imprimi-lo na tela, omita a última linha. A variável $ functions na linha 2 manterá a matriz de usuários e recursos para que você possa usá-lo da maneira que precisar. Veja abaixo um exemplo da matriz retornada.
fonte