Se estiver a construir um site WordPress para clientes, ou qualquer tipo de site que vai ter vários utilizadores (ou ambos!), precisa de uma forma infalível para controlar as permissões exactas que cada utilizador tem no site.
Por exemplo, provavelmente não quer dar a um utilizador regular acesso para instalar plugins, e duvido que queira permitir a um cliente não técnico editar directamente ficheiros temáticos.
É por isso que é importante controlar exactamente o que diferentes utilizadores têm de fazer e que acções podem tomar. O WordPress inclui um sistema de funções e capacidades do utilizador.
Neste post, vou primeiro definir esses termos e passar pelos papéis e capacidades padrão para cada sítio WordPress. Depois, mostrar-lhe-ei como pode modificar esses papéis predefinidos ou criar os seus próprios papéis com capacidades personalizadas para maior controlo sobre o seu sítio.
O que são os papéis e capacidades do WordPress?
Definamos os papéis e capacidades do utilizador.
Uma capacidade é uma acção específica que um utilizador pode tomar. Estes são todos exemplos de capacidades individuais:
- Publicar post
- Ver um post privado
- Editar um post
- Ativar um plugin
- Instalar um tema
- Comentários moderados
Por defeito, o WordPress inclui 62 capacidades diferentes cobrindo todas as funcionalidades centrais do WordPress.
Uma função, por outro lado, é uma colecção de capacidades que pode ser atribuída a uma conta de utilizador real.
P>É possível ver isto como uma espécie de hierarquia:
A cada conta de utilizador é atribuída uma função que define um conjunto de capacidades permitidas.
As funções e capacidades predefinidas do utilizador WordPress
Por defeito, as instalações regulares do WordPress incluem cinco funções predefinidas:
- Papel de administrador
- Papel de editor
- Papel de autor
- Papel de contribuidor
- Papel de assinante
Existe também um sexto papel de utilizador – papel de super-administrador – que só se aplica às instalações do WordPress Multisite.
Adicionalmente, o WordPress inclui as 62 capacidades padrão acima mencionadas para cobrir todas as funções centrais do WordPress.
P>Pode ver a lista completa das capacidades padrão, e a que funções são atribuídas, no Codex de Capacidade do WordPress vs. Role Table:
Your Site Might Might Have More Roles and Capabilities
Além destas predefinições, alguns plugins também irão criar os seus próprios papéis e/ou capacidades.
Por exemplo, o WooCommerce adiciona papéis de utilizador para:
- Shop Manager
- Cli>Cli>/li>
Como também um número de capacidades associadas para gerir produtos, encomendas, etc.
Outros plugins que adicionam funcionalidades detalhadas terão provavelmente as suas próprias capacidades e, potencialmente, funções.
Como definir o papel de um utilizador no seu sítio WordPress
Para editar o papel de um utilizador, clique no separador Utilizadores no seu painel de instrumentos e edite o utilizador que pretende segmentar.
Então, desça até ao menu pendente Função e seleccione a função do utilizador que pretende aplicar a esse utilizador:
p>
Se permitir o registo público, também pode alterar a função padrão que é aplicada a novos utilizadores no seu sítio, indo a Definições → Geral:
Como criar funções do WordPress e/ou capacidades de edição
Agora de saber quais são as funções e capacidades, vamos entrar em como pode realmente começar a manipular funções e capacidades para criar as suas próprias permissões personalizadas de acesso do utilizador.
Como é a forma WordPress, pode fazê-lo usando um plugin ou com o seu próprio código personalizado.
Comecemos pelo método plugin porque é um pouco mais acessível e flexível, mas também lhe mostrarei mais tarde como funciona o código.
Using User Role Editor to Manage Roles and Capabilities
User Role Editor é um plugin gratuito popular que lhe dá uma interface gráfica:
- Criar novos papéis e papéis de utilizador personalizados
- Editar as capacidades associadas a quaisquer papéis (incluindo os papéis padrão do WordPress)
O plugin também lhe permite atribuir múltiplos papéis de utilizador a um único utilizador, bem como atribuir capacidades a contas de utilizador específicas, o que abre algumas utilizações interessantes.
Após instalar e activar o plugin, eis como utilizá-lo:
Passo 1: Seleccione o papel que pretende editar (ou criar o seu próprio)
Para aceder à interface do plugin, vá a Users → User Role Editor.
There, you can either:
- Select an existing role from the drop-down at the top
- Create a new role by clicking the Add Role button on the right
Se optar por criar a sua própria função, terá de lhe dar um:
- Nome do papel (ID): todos em minúsculas, sem espaços ou números.
- Display Role Name: pode usar texto regular. Isto é o que aparecerá no menu pendente da Função quando editar um utilizador.
Também pode opcionalmente optar por fazer uma cópia das capacidades de uma função existente. Se escolher Nenhum, a sua nova função não terá quaisquer capacidades para iniciar.
criar uma nova função
Passo 2: Adicionar ou remover capacidades para a função
Após ter seleccionado a função que pretende editar, basta usar a lista de caixas de verificação para atribuir as capacidades a que pretende que essa função tenha acesso.
Algumas dicas para utilizar esta interface mais eficazmente são:
- Mostrar capacidades de forma legível pelo ser humano torna um pouco mais simples ver o que cada capacidade realmente faz.
- As opções de Grupo no lado esquerdo permitem-lhe saltar rapidamente para capacidades específicas. Se os seus plugins tiverem adicionado quaisquer capacidades, também verá cada plugin como um grupo único.
- li> Concedido Apenas lhe permite filtrar apenas as capacidades a que um papel tem realmente acesso.
Quando terminar, certifique-se de carregar em Update.
Duas outras funções úteis do editor de funções de utilizador
Além da gestão das funções e capacidades principais do utilizador, o editor de funções de utilizador também inclui duas outras funções úteis que pode aceder quando editar o perfil de um utilizador.
P>Pode:
- Atribuir múltiplas funções a uma única conta de utilizador
- Editar capacidades por utilizador. Isto permite controlar aquilo a que um utilizador específico tem acesso sem necessidade de criar uma função especial apenas para esse utilizador.
A segunda funcionalidade é especialmente útil porque torna o sistema de permissões de utilizador do WordPress mais parecido com o sistema do Drupal (um CMS que é normalmente considerado como tendo mais um sistema de permissões de utilizador mais flexível).
Usar Código para Gerir Funções e Capacidades
É também bastante simples, se um pouco menos fácil de usar, usar os seus próprios trechos de código para adicionar novas funções. Este é o seu gestor de capacidades.
Para o fazer, você:
- Registar e adicionar novas funções usando a função add_role
- Definir as capacidades atribuídas a essa função usando um array
Gosto de o fazer usando um plugin como o Code Snippets porque mantém tudo limpo, mas também pode usar as funções.php ficheiro do seu tema criança.
P>Aí está como procura uma função chamada Example:
$result = add_role( 'example', __( 'Example' ), array( 'edit_posts' => true, // lets users edit their own posts 'edit_pages' => true, // lets users edit pages ) );
criar função com código
Se não definir uma capacidade no array, esta deve ser falsa por defeito. Mas mesmo assim, verá que alguns programadores definem explicitamente as capacidades como falsas.
Após salvar o seu snippet, poderá atribuir o novo papel aos seus utilizadores:
Dicas Acionáveis para Como Utilizar Funções e Capacidades do WordPress
Neste ponto, deverá ter uma boa ideia de como criar novos papéis de utilizador e manipular funções/capacidades do utilizador no seu sítio WordPress.
Mas pode ainda estar a pensar, “como é que este conhecimento me ajuda realmente a construir um sítio WordPress melhor?”
Para isso, quero deixar-lhe algumas dicas úteis.
Criar um Papel Personalizado para o seu Cliente (Para Sítios de Clientes)
Se está a construir sítios WordPress para clientes, deve aprender a adorar papéis e capacidades.
Vai querer que o seu cliente tenha mais capacidades do que a função padrão do Editor, mas menos capacidades do que um Administrador completo (função de Administrador do WordPress).
Para fazer isso, crie uma cópia da função de Administrador mas remova as capacidades com as quais o seu cliente possa…quebrar alguma coisa.
Por exemplo, capacidades relacionadas com:
- Plugins
- Editar código
- Temas
Não há aqui nenhum livro de regras rigoroso – vá com o que melhor se adequar à sua situação e ao nível de conhecimento do seu cliente.
Dar a certos utilizadores acesso a conteúdo privado
WordPress inclui a funcionalidade central para tornar privados os posts, páginas, e tipos de posts personalizados. Mas, por defeito, apenas Administradores e Editores podem ver esse conteúdo privado.
p>Por brincadeira com as capacidades de:
- read_private_posts
- read_private_pages
- read_private_products (em lojas WooCommerce)
p>P>Pode criar conteúdo privado leve sem necessidade de um plugin.
Get More Control Over Multi-Author Blogs
Se estiver a gerir um blogue multi-autor, irá provavelmente querer dar aos utilizadores o papel de Editor para que estes possam ajudar com mensagens escritas por outros utilizadores. Mas, por defeito, os editores podem gerir páginas para além dos posts.
P>Pode não querer isso, e é por isso que pode ser útil criar um papel de editor mais limitado que só tem as capacidades de trabalhar com posts regulares.
Embrulhar funções e capacidades do WordPress
As funções e capacidades do WordPress são uma parte importante do que faz do WordPress um sistema completo de gestão de conteúdos, em vez de um sistema de blog como nos velhos tempos.
Como proprietário do sítio, assim que dominar as funções e capacidades, terá um controlo preciso sobre exactamente aquilo a que os seus clientes ou utilizadores têm acesso. E isso significa um sítio WordPress mais seguro e funcional!
Se isto lhe parecer complicado, a equipa da GoWP pode encarregar-se de gerir as suas funções e capacidades de utilizador do WordPress no plano Unlimited Content Edits!
0 comentários