As funções e capacidades do usuário do WordPress lhe dão a capacidade de controlar o que outros usuários podem ou não fazer em seu site. Você pode usá-los para gerenciar ações dos usuários, como escrever e editar posts, criar novas páginas, moderar comentários, instalar plugins, adicionar novos usuários, e muito mais.

A compreensão das funções e permissões dos usuários é essencial para gerenciar qualquer site WordPress. Por exemplo, se você estiver construindo um site para um cliente, você não quer que ele edite ou altere o tema instalado. Da mesma forma, é insensato deixar que os autores de um blog multi-autor instalem ou removam plugins.

Aprender como gerenciar de forma inteligente as funções do usuário do WordPress o ajudará a simplificar seu fluxo de trabalho, manter seu site seguro e obter o máximo controle sobre seu site.

Neste extenso guia, você aprenderá sobre as funções do usuário do WordPress, as várias capacidades que o WordPress oferece, como editar as funções de usuário existentes, como gerenciar usuários em vários sites e como criar novas funções com um novo conjunto de capacidades.

Entusiasmado? Vamos mergulhar!

Quais são as funções e capacidades do usuário do WordPress?

Os papéis e capacidades são o pão e a manteiga do gerenciamento de acesso do usuário no WordPress. Para entender quais são as funções do usuário no WordPress, é preciso primeiro saber quais são as capacidades.

O WordPress define qualquer ação que um usuário pode realizar como uma Capacidade. Aqui estão alguns exemplos de capacidades disponíveis no WordPress e como elas são referenciadas em seu código:

A maioria das capacidades são auto-explicativas a partir de seu nome. O WordPress tem mais de 70 capacidades hardcoded incorporadas em seu núcleo.

Um papel é um conjunto de capacidades que você pode atribuir a um usuário. Todo usuário do WordPress precisa ter uma função atribuída a ele. Um usuário só pode tomar ações que sua função lhe outorgue.

Infographic showing how WordPress Roles are defined in WordPress with Capabilities

A ‘Role’ is a collection of ‘Capabilities’

No gráfico acima, qualquer usuário com Função 1 pode ler mensagens, mas não pode editar mensagens. Usuários com a Função 2 podem ler e editar mensagens, mas não podem publicar mensagens. Qualquer usuário com a Função 3 pode ler, editar e publicar mensagens, mas não pode excluir mensagens, ao contrário dos usuários com a Função 4 que podem excluir mensagens.

O painel

O painel “Adicionar novo usuário” no painel do WordPress

O WordPress usa muitas de suas capacidades nativas para definir suas funções de usuário padrão. Por exemplo, ele concede aos Administradores e Editores a capacidade de publish_pages, mas não as atribui aos Assinantes e Contribuintes.

The 'Users' panel in WordPress admin dashboard

The ‘Users’ panel in WordPress dashboard

No mínimo, todo usuário WordPress tem um nome de usuário, senha, um endereço de e-mail e uma função.

phpMyAdmin mostrando onde o banco de dados do WP armazena as capacidades

phpMyAdmin mostrando onde o banco de dados do WP armazena as capacidades

O WordPress armazena todas as suas capacidades baseadas em funções em seu banco de dados na tabela wp_options sob a opção serializada wp_user_roles. A classe centra lWP_Roles é usada para definir como armazenar funções e capacidades no banco de dados.

A Classe WP_Roles

O WordPress implementa funções e capacidades com a API de funções do usuário, a maioria das quais é baseada na classe central WP_Roles. Você pode encontrar sua fonte no arquivo wp-includes/class-wp-roles.php.

Se você olhar para o banco de dados, verá que os papéis estão dentro de uma matriz com seus nomes de papéis definidos. A chave de rolename armazena o nome da função do usuário como um valor da chave de name e todas as capacidades em uma matriz separada como um valor da chave de capability.

array (
     'rolename' => array (
         'name' => 'rolename',
         'capabilities' => array()
     )
)

A classe WP_Roles define uma série de métodos. Você pode chamá-los em qualquer lugar em seu código para interagir com a API de funções do usuário.

Nota: WordPress inclui outra classe central chamada WP_Role (note o singular ‘Papel’). Ela é usada para estender a API dos Papéis do Usuário.

Quando você des-serializar o valor chave do wp_user_roles, ele será algo parecido com isto:

array (
  'administrator' => 
  array (
    'name' => 'Administrator',
    'capabilities' => 
    array (
      'switch_themes' => true,
      'edit_themes' => true,
      'activate_plugins' => true,
      // [...rest of the lines cut off for brevity...]
    ),
  ),
  'editor' => 
  array (
    'name' => 'Editor',
    'capabilities' => 
    array (
      'moderate_comments' => true,
      'manage_categories' => true,
      'manage_links' => true,
      // [...rest of the lines cut off for brevity...]
    ),
  ),
  'author' => 
  array (
    'name' => 'Author',
    'capabilities' => 
    array (
      'upload_files' => true,
      'edit_posts' => true,
      'edit_published_posts' => true,
      // [...rest of the lines cut off for brevity...]
    ),
  ),
  'contributor' => 
  array (
    'name' => 'Contributor',
    'capabilities' => 
    array (
      'edit_posts' => true,
      'read' => true,
      // [...rest of the lines cut off for brevity...]
    ),
  ),
  'subscriber' => 
  array (
    'name' => 'Subscriber',
    'capabilities' => 
    array (
      'read' => true,
      'level_0' => true,
    ),
  ),
)

É uma matriz multidimensional com cada papel atribuído um nome de função e concedido um conjunto de capacidades. Da mesma forma, o WordPress armazena as capacidades baseadas no usuário na tabela wp_usermeta com o nome da meta chavewp_capabilities.

Nota: O prefixo wp_ pode ser diferente em sua configuração. Depende do valor da variável global $table_prefix no arquivo wp-config.php do seu site.

Tabela de Papéis vs Capacidades

A tabela 'Papéis vs Capacidades' no Codex WordPress

A tabela ‘Papéis vs Capacidades’ no Codex WordPress

O WordPress Codex inclui uma simples Tabela de Capacidades vs Tabela de Papéis, embora não seja tão intuitiva. Ele resume todas as ações que o usuário pode realizar tanto em configurações de um único local quanto em configurações de vários locais para WordPress. Há uma pausa após um determinado número de capacidades para facilitar a distinção entre capacidades de alto e baixo nível.

Para uma melhor representação de todas as funções e capacidades do WordPress, você pode ver esta excelente tabela por Exygy.

Capacidades relacionadas com os blocos reutilizáveis de Gutenberg

O editor de blocos do WordPress’ Gutenberg introduziu um recurso surpreendente chamado Blocos reutilizáveis. Ele permite salvar um bloco inteiro (ou vários blocos) como modelo e usá-lo em qualquer outro lugar em seu site.

Adicionando 'Blocos reutilizáveis' no WordPress' novo editor de blocos Gutenberg

Adicionando ‘Blocos reutilizáveis’ no WordPress’ novo editor de blocos Gutenberg

Assim, o WordPress também introduziu as seguintes novas capacidades relacionadas aos blocos reutilizáveis:

As capacidades listadas acima funcionam de forma semelhante às capacidades relacionadas aos cargos. Um Administrador ou um Editor tem acesso a todas as capacidades relacionadas a blocos reutilizáveis, enquanto um Autor só pode editar ou apagar blocos reutilizáveis criados por eles. Os Colaboradores só podem ler os blocos reutilizáveis.

Capacidades especiais: Upload não filtrado

Upload não filtrado é uma capacidade especial que não é atribuída a nenhuma função do usuário por padrão, incluindo Administrador ou Super Admin. Ela permite que um usuário faça upload de arquivos com qualquer extensão (por exemplo, SVG ou PSD), não apenas os que estão na lista branca do WordPress.

Nota: Você pode obter uma lista de tipos de mímica e extensões de arquivos suportados pelo WordPress usando a função wp_get_mime_types().

Para habilitar esta capacidade, você precisa adicionar o trecho de código abaixo ao seu arquivo wp-config.php. Defina a constante antes da linha que lhe pede para parar de editar.

define( 'ALLOW_UNFILTERED_UPLOADS', true );

Após definir esta constante, você pode dar a qualquer função do usuário em um único site do WordPress instalar a capacidade de Upload não filtrado. Entretanto, em um Multisite instale somente um Super Admin pode ter esta capacidade.

Por exemplo, se você quiser atribuir a capacidade de unfiltered_upload a um Editor, você pode adicionar o seguinte código em qualquer lugar em seu código WordPress (idealmente, execute-o apenas na ativação do tema/plugin):

<?php

  $role = get_role( 'editor' );
  $role->add_cap( 'unfiltered_upload' );

?>

Discutiremos mais sobre como adicionar ou personalizar as capacidades de todas as funções do usuário ou usuários específicos mais tarde neste post.

Capacidades Primitivas vs. Meta Capacidades

Há principalmente dois tipos de capacidades no WordPress:

Por exemplo, o WordPress concede aos autores a capacidade de edit_posts para seus próprios posts, para que eles possam editá-los. No entanto, esta capacidade não permite que eles editem os posts de outros usuários. É aqui que as meta-capacidades ajudam.

O WordPress usa a função map_meta_cap() para retornar um conjunto de capacidades primitivas ligadas a um objeto específico. Em seguida, ele as compara com o objeto do usuário para verificar se o usuário pode editar o post.

Alguns outros exemplos de meta-capacidades são read_post, delete_post, remove_user e read_post. Vamos dar uma olhada mais profunda neles na seção de capacidades personalizadas abaixo.

💡 Understanding WordPress user roles & capabilities = um site mais seguro + paz de espírito para você e seus clientes. Saiba mais 👇Click to Tweet

Os 6 Papéis Padrão do Usuário WordPress

O WordPress inclui seis funções de usuário predefinidas. O primeiro usuário de uma instalação WordPress recebe a função Administrador por padrão (ou a função Super Admin com instalações WordPress Multisite).

Desde que o WordPress começou como uma plataforma de blogs antes de se tornar um CMS completo, ele define a maioria de suas funções de usuário para publicar conteúdo na web. Seus outros papéis de usuário predefinidos são Editor, Autor, Contribuinte e Assinante.

As funções padrão do usuário WordPress empilhadas em ordem de capacidades

As funções padrão do usuário WordPress empilhadas em ordem de capacidades

Imagine as funções padrão do usuário do WordPress como uma coleção de cilindros empilhados representando várias capacidades. O maior cilindro tem mais capacidades, o segundo maior tem a segunda maior capacidade e o menor cilindro tem menos capacidades.

Você não deve considerar um papel como superior a outro. Ao invés disso, pense em funções como definir as responsabilidades de um usuário dentro do site.

Uma função do usuário nunca é superior, nem inferior, ela define exatamente o que se pretende.

Agora vamos analisar em detalhes todas as funções pré-definidas do usuário do WordPress.

Administrator

O painel de controle do papel de 'Administrador' no WordPress

O painel de controle do papel de ‘Administrador’ no WordPress

O WordPress atribui ao primeiro usuário de qualquer instalação em um único local a função de Administrador. Ele fica no topo de todas as outras funções do usuário e tem acesso a todas as capacidades definidas pelo WordPress. Os usuários com a função de Administrador podem realizar ações como:

Somente Administradores podem adicionar novos usuários no WordPress

Somente Administradores podem adicionar novos usuários no WordPress

Como um Administrador é a função mais poderosa, você deve atribuí-la apenas àqueles em quem confia. O ideal seria que houvesse apenas um administrador por site.

O papel de Administrador em uma rede WordPress Multisite é definido de forma um pouco diferente, embora seja chamado de igual modo. Em uma rede Multisite, a função de Administrador não desfruta de algumas capacidades que faz em um único site WP, como instalar temas e plugins. O WordPress reserva essas capacidades para a função de Super Administrador.

Editor

O painel de funções do 'Editor' no WordPress

O painel de funções do ‘Editor’ no WordPress

Um editor cuida do gerenciamento do conteúdo de um site WordPress. Eles podem criar, modificar, publicar ou excluir posts e páginas, mesmo aqueles que são criados por outros usuários. Algumas de suas capacidades incluem:

Os editores não podem tomar ações de administração do site, tais como a instalação de plugins e temas. Sua principal responsabilidade é supervisionar o trabalho de outros autores e colaboradores ou ser uma equipe de conteúdo unipessoal.

Dica: Se você estiver administrando um site WordPress por conta própria, você pode criar um usuário alternativo com o papel de um editor. Desta forma, você pode manter suas funções administrativas e editoriais separadas. Sua conta de administrador está a salvo de hackers, mesmo que sua conta de editor seja comprometida.

Autor

O painel de controle do papel de 'Autor' no WordPress

O painel de controle do papel de ‘Autor’ no WordPress

Como o nome sugere, qualquer usuário com uma função de Autor pode criar, editar e publicar postagens. Eles também podem carregar arquivos de mídia e excluir seus próprios posts, mas não podem criar páginas ou editar os posts de qualquer outra pessoa.

Os autores podem adicionar tags aos seus postos e atribuir seus postos às categorias existentes, mas não podem criar novas categorias. Como com os editores, eles não têm acesso a nenhuma tarefa administrativa, tais como configurações, plugins e temas.

Nota: Um Autor pode apagar suas postagens mesmo depois de serem publicadas. Se você estiver atribuindo a alguém o papel de Autor, certifique-se de que você está bem com eles tendo controle total sobre suas postagens, inclusive apagando-as.

Contribuinte

O painel de controle do papel do 'Contribuinte' no WordPress

O painel de controle do papel do ‘Contribuinte’ no WordPress

O papel do Contribuinte é uma versão leve do papel do Autor. Um usuário com uma função contribuinte pode criar suas próprias postagens, apagar rascunhos de suas postagens, mas eles não podem publicar as postagens.

Eles podem salvar rascunhos de seus postos ou enviá-los a um Editor ou a um Administrador para revisão e publicação. E uma vez publicado o post, um Contribuinte não pode apagar seus posts. Em contraste, os Autores podem apagar suas postagens publicadas.

O papel do Contribuinte é ideal para novos autores e colaboradores convidados.

Assinante

O painel de controle do papel do 'Assinante' no WordPress

O painel de controle do papel do ‘Assinante’ no WordPress

O papel de Assinante se situa no degrau mais baixo do ranking de capacidades. Um usuário com um cargo de Assinante pode gerenciar seu perfil e tem acesso para ler todas as postagens no site. Isso é praticamente tudo!

Você pode restringir o conteúdo apenas a usuários logados, incluindo Assinantes

Você pode restringir o conteúdo apenas a usuários logados, incluindo Assinantes

Normalmente, todos têm acesso a conteúdo lido em um site WordPress. Entretanto, em sites de assinatura ou de membros, somente usuários logados podem visualizar o conteúdo. Um usuário com a função de Assinante pode ler os posts nestas instâncias.

Super Admin

O painel de funções 'Super Admin' na rede WordPress Multisite

O painel de funções ‘Super Admin’ na rede WordPress Multisite

A função Super Admin está disponível apenas em instalações WordPress Multisite. Esta função substitui os administradores de um único local dentro da rede Multisite e dá acesso a todas as capacidades de administração de alto nível.

Algumas capacidades só para Super Admins estão disponíveis para Super Admins:

O painel 'Sites' em uma rede WordPress Multisite

O painel ‘Sites’ em uma rede WordPress Multisite

O painel

O painel “Temas” no painel do Super Admin

Em uma rede Multisite, somente o Super Admin pode instalar temas e habilitá-los em toda a rede. Os administradores de sites individuais da rede só podem visualizar e ativar os temas que já estão instalados pela Super Admin.

Por exemplo, instalei o tema gratuito Astra em minha rede, mas não o habilitei para a rede. Assim, os administradores de subsites individuais em uma rede não podem vê-lo listado sob seu painel de Temas.

Os administradores de subsites de rede não podem instalar novos temas

Os administradores de subsites de rede não podem instalar novos temas

Na imagem acima, você também pode notar que o menu Plugins não é acessível pelos administradores do site em uma rede. Ao contrário de Temas, um Super Admin pode alterar as configurações da rede para permitir que os Admins instalem e ativem os plugins em seus sites.

O Super Admin pode dar aos Administradores a capacidade de gerenciar plugins

O Super Admin pode dar aos Administradores a capacidade de gerenciar plugins

O Super Admin pode também 'Network Activate' plugins

O Super Admin pode também ‘Network Activate’ plugins

Um Super Admin pode também Network Activate plugins para garantir que eles sejam forçados em todos os sites da rede. Os administradores de sites não podem desativar os plugins ativados pela rede. Esta configuração é ideal para forçar plugins essenciais em toda a rede.

A tela de Network Admin

O painel Network Admin serve como um hub central para o Super Admin administrar as capacidades de rede do WordPress Multisite. Só é acessível aos usuários com a função de Super Admin depois de criar uma rede.

O painel de Network Admin inclui opções únicas para gerenciar a rede

O painel de Network Admin inclui opções únicas para gerenciar a rede

1. Painel de controle

O Painel de Network Admin é o centro central para informações detalhadas sobre os sites de sua rede. Ele lhe dá acesso a todas as configurações de sua rede.

2. Sites
O painel 'Sites' em um painel de administração de rede

O painel ‘Sites’ em um painel de administração de rede

Você pode usar o Painel de Sites para gerenciar os vários sites que fazem parte da rede Multisite. Os sites listados aqui serão ou um subdiretório ou um subdomínio, dependendo de como você configurou sua rede WordPress Multisite.

A partir daqui, você pode adicionar novos sites à rede ou remover os sites existentes da rede.

Você também pode acessar informações sobre sites, usuários, temas e configurações gerais da rede a partir daqui. O primeiro site que você cria é o site principal da rede. A rede herda todas as suas configurações a partir das opções do primeiro site.

Adicionando novos sites à rede WordPress Multisite

Adicionando novos sites à rede WordPress Multisite

Clicando no link ou botão Adicionar novo site o levará para a tela acima onde você pode adicionar um novo site à sua rede Multisite. Se você não tiver mais ninguém em mente para ser o administrador do novo site, você pode designar a si mesmo como administrador também.

3. Usuários
O painel 'Usuários' no painel de Network Admin

O painel ‘Usuários’ no painel de Network Admin

A tela Usuários no painel de Network Admin permite gerenciar usuários e adicionar novos usuários à sua rede Multisite. Somente o Super Admin pode adicionar usuários à rede, mas um Super Admin pode modificar as configurações da rede para permitir que os administradores de sites adicionem novos usuários apenas a seus próprios sites.

4. Temas
O painel

O painel “Temas” no painel de Network Admin

A Tela de Temas permite gerenciar temas acessíveis pelos administradores do site. Ela não permite ativar ou desativar temas que qualquer site esteja usando, mas apenas definir os temas que qualquer site pode usar.

Se você desativar um tema que esteja em uso em qualquer parte da rede, ele permanecerá ativo nesse site mesmo depois de desativá-lo. Mas se os sites utilizarem outro tema, então o tema desativado não aparecerá no painel de Temas do site da rede.

Você pode consultar o artigo da Kinsta no WordPress Multisite para aprender como trabalhar com temas e plugins em sua rede. Você também pode usar o Editor de Temas para editar seus arquivos de temas dentro do próprio painel de controle.

5. Plugins
O painel 'Plugins' no painel de Network Admin

O painel ‘Plugins’ no painel de Network Admin

A Tela de Plugins permite aos usuários adicionar ou excluir plugins na rede. Uma vez adicionados, você pode ativar os plugins a partir do painel de controle de um site. Você também pode ativar os plugins de rede daqui para forçar o uso do plugin em todos os sites da rede.

Por padrão, um Administrador do site não pode acessar o menu Plugin em seu painel de controle. Um Super Administrador pode habilitar isto para eles modificando as Configurações de Rede.

Permitindo a administração de plugins para todos os administradores de subsite

Permitindo a administração de plugins para todos os administradores de subsite

Nota: Nem todos os plugins WordPress suportam redes Multisite. Você precisa ler a documentação do plugin para confirmar se eles funcionarão em configurações Multisite.

6. Configurações
O painel 'Network Settings' no painel Network Admin

O painel ‘Network Settings’ no painel Network Admin

Você pode definir e alterar as configurações para toda a rede na tela de configurações de rede. As configurações padrão da rede são baseadas no primeiro site que você criou durante a configuração da rede. Algumas configurações de rede que você pode alterar aqui são:

Aqui, você também pode acessar as informações de configuração da rede que você usou quando criou a rede. Você pode consultar a tela Network Admin Settings no WordPress Codex para obter uma visão detalhada de todas as opções de configuração disponíveis.

7. Atualizações
O painel de 'Atualizações' no painel de Network Admin

O painel de ‘Atualizações’ no painel de Network Admin

Você pode controlar o processo de atualização tanto para a rede quanto para sites individuais a partir da Tela de Atualizações. O painel Updates mostrará todas as atualizações disponíveis para o WordPress Core, temas e plugins. Uma vez instalada a última versão do WordPress, você pode aplicá-la a todos os sites da rede através da tela Upgrade Network.

O painel 'Upgrade Network' no painel de Network Admin

O painel ‘Upgrade Network’ no painel de Network Admin

Nota: Em uma instalação em um único local do WordPress, o Administrador é essencialmente um Super Administrador, pois eles têm acesso a todas as capacidades de administração.

Você pode personalizar as funções do usuário e também criar suas próprias funções personalizadas usando as capacidades pré-definidas do WordPress.

Vantagens das funções e capacidades do usuário

O sistema de funções e capacidades é a espinha dorsal do gerenciamento de usuários WordPress. Aqui estão alguns de seus muitos benefícios:

Como gerenciar as funções do usuário WordPress de forma eficaz

Conhecer todas as funções e capacidades do usuário é essencial, mas você também precisa entender como gerenciá-las eficientemente em seus sites. Embora não haja dois sites WordPress exatamente iguais, há algumas regras básicas que você pode seguir para fazer o melhor uso das funções e capacidades do usuário do WordPress.

Dar Acesso Mínimo a Cada Usuário

Atribua a cada usuário em seu site apenas o nível de acesso que ele precisa. É sempre melhor dar menos permissões do que demasiadas. Proteger as funções do usuário do WordPress é fundamental para manter seu site e seu conteúdo seguros.

Atribuir papéis de usuário cuidadosamente a cada usuário

Atribuir papéis de usuário cuidadosamente a cada usuário

Limitar o número de Administradores e Editores

Como regra geral, cada site deve ter apenas um Administrador e ele deve fazer apenas as principais mudanças no site. O WordPress recomenda que você adira ao “princípio dos privilégios mínimos“, o que sugere que você só deve dar a um usuário os privilégios essenciais para realizar seu trabalho desejado.

Por exemplo, é melhor usar um usuário no nível de Editor para gerenciar o conteúdo do site, em vez de usar um Administrador. Se você tiver mais de um Editor em seu site, então certifique-se de que você pode confiar neles com suas amplas capacidades.

Atribua o papel de Autor a criadores de conteúdo em quem você pode confiar, pois eles podem publicar e apagar suas próprias postagens. As funções de contribuinte são mais adequadas para novos criadores de conteúdo e postagens convidadas.

Personalização dos papéis do usuário, dependendo da necessidade

As funções padrão do usuário do WordPress são úteis, mas podem não ser adequadas para cada caso de uso. Por exemplo, dando a seus Autores a capacidade de moderar comentários.

Felizmente, o WordPress nos concede a capacidade de personalizar as funções do usuário ou criar novas funções de acordo com nossas necessidades únicas. Você pode fazer isso manualmente através de código ou com a ajuda de plugins de funções do usuário do WordPress. Cobriremos os dois métodos neste artigo.

Gerenciamento de usuários na rede WordPress Multisite

O WordPress Multisite inclui configurações exclusivas para o gerenciamento de usuários. Algumas delas são simples de entender, enquanto outras não são.

Vamos explorá-los todos em profundidade.

Configurações de registro em rede multisite

Fora da caixa, somente um Super Admin pode criar novos usuários e sites na rede. No entanto, eles podem permitir que os usuários registrem contas na rede como Assinantes dos subsites.

Para habilitar isto, vá para Network Admin > Network Settings > Registration Settings > Permitir novos registros, e habilite a opção “Contas de usuário podem ser registradas”.

Permitir que os usuários registrem uma conta em sua rede

Permitir que os usuários registrem uma conta em sua rede

Aqui, você também pode permitir que usuários logados criem novos sites em sua rede. Você pode marcar esta opção se quiser restringir a capacidade de criar sites somente para usuários configurados por você.

A última opção permite aos usuários registrar uma conta, bem como criar um site em sua rede. Aos usuários que criam um site em sua rede é dado o papel de Administrador para seu subsite.

Uma conta de usuário para acessar toda a rede

Quando você cria uma conta de usuário em sua rede, ou quando um usuário registra uma conta em qualquer um dos sites de sua rede, ele pode navegar para qualquer site dentro da rede após fazer o login. Imagine isto como uma rede social como Facebook ou Reddit, onde você pode criar uma conta e acessar todos os grupos ou subredits com o mesmo perfil de usuário.

Este é um dos maiores benefícios do uso do WordPress Multisite. Ele permite que seus usuários acessem todos os seus sites, registrando apenas uma conta.

Concessão de privilégios extras aos administradores do site

Você pode permitir que os administradores de sites adicionem usuários a seus próprios sites, marcando a opção Adicionar Novos Usuários.

Permitir aos administradores do site adicionar novos usuários ao seu subsite

Permitir aos administradores do site adicionar novos usuários ao seu subsite

Como mencionado anteriormente, você pode conceder aos administradores do site acesso ao gerenciamento de plugins em seus subsites indo a Configurações de rede > Configurações de menu e verificando a opção Habilitar menus de administração > Plugins.

Cadastro de usuários no subsite

As instalações do WordPress Multisite só permitem o registro de usuários para toda a rede por padrão. Não há opção para permitir registros de usuários para apenas um subsite. Você pode mudar este comportamento usando o plugin de Network Subsite User Registration.

O plugin 'Network Subsite User Registration'

O plugin ‘Network Subsite User Registration’

Este plugin permite que os administradores do site permitam registros de usuários locais com acesso restrito somente ao seu site. Novos usuários assumirão a função de Assinante por padrão, mas você pode alterar isso modificando as configurações do plugin.

Habilite qualquer pessoa a registrar uma conta somente em seus subsites

Habilite qualquer pessoa a registrar uma conta somente em seus subsites

Atribuição do mesmo usuário a múltiplos subsites

Você pode designar o mesmo usuário para vários sites em sua rede com funções únicas. Quando o usuário faz login no painel de seus sites, ele pode acessar o painel para todos os seus sites através da tela Meus Sites.

Você pode designar um usuário para vários sites em uma rede WordPress Multisite

Você pode designar um usuário para vários sites em uma rede WordPress Multisite

Concessão de privilégios de super-administração a outros usuários

Um Super Admin também pode compartilhar seus privilégios com outros usuários. Você deve habilitar esta opção com cautela e somente atribuí-la a usuários em quem você possa confiar.

Concedendo a outros usuários os privilégios de Super Admin para a rede

Concedendo a outros usuários os privilégios de Super Admin para a rede

A compreensão de todas as configurações de gerenciamento de usuários no WordPress Multisite o ajudará a gerenciar melhor sua rede. Para encontrar outros plugins úteis para WordPress Multisite, você pode explorá-los no repo do WordPress ou no artigo recomendado pela Kinsta sobre plugins para WordPress Multisite.

Como personalizar as funções existentes do usuário do WordPress

Você pode acrescentar capacidades às suas funções de usuário existentes para aumentar seu nível de acesso. Por exemplo, você pode dar aos editores o poder de gerenciar plugins. Ou talvez você queira que os Contribuintes moderem os comentários em suas próprias postagens. Vamos aprender como fazer isso.

Nota: Se você não gosta de se preocupar com código, você pode pular o método manual e ir diretamente para a seção de plugins de funções e capacidades do usuário abaixo. Ou simplesmente contratar um desenvolvedor WordPress.

Como adicionar capacidades a um papel de usuário

Você pode adicionar uma capacidade a uma função do usuário ou qualquer usuário específico usando a função add_cap() WordPress. Vou usar um plugin personalizado chamado Personalizar função do usuário para mostrar como usar esta função para dar à função de Editor o poder de gerenciar plugins.

<?php

/*
Plugin Name:  Customize User Role
Version:  1.0
Description:  Demonstrating how to customize WordPress User Roles.
Author:  Salman Ravoof
Author URI:  https://www.salmanravoof.com/
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  customize-user-role
*/

O WordPress recomenda a execução desta função na ativação de plugins ou temas, pois as configurações que ele adiciona são armazenadas no banco de dados na tabela wp_options sob o campo wp_user_roles. É ineficiente executar esta função toda vez que você carrega qualquer página, pois as tabelas do banco de dados continuarão a ser sobrescritas em cada carregamento de página.

Como estou usando um plugin, vou usar a função register_activation_hook() para me conectar à ação que é executada quando você ativa um plugin. Há muitas maneiras de fazer isso, mas estou usando uma implementação robusta baseada em classe para garantir que não haja conflitos.

// this code runs only during plugin activation and never again
function sal_customize_user_role() {
    require_once plugin_dir_path( __FILE__ ).'includes/class-sal-customize-user-role.php';   
    Sal_Customize_User_Role::activate();
}
register_activation_hook( __FILE__, 'sal_customize_user_role' );

O código acima é executado apenas uma vez durante a ativação do plugin. A função hooked sal_customize_user_role referencia uma classe personalizada chamada Sal_Customize_User_Role.

Eu defini esta classe em um arquivo separado chamado class-sal-customize-user-role.php e a coloquei dentro de minha pasta raiz do plugin dentro de uma subpasta chamada includes, mas você pode nomeá-la como quiser.

<?php

class Sal_Customize_User_Role {
    public static function activate() {
        // get the Editor role's object from WP_Role class
        $editor = get_role( 'editor' );

        // a list of plugin-related capabilities to add to the Editor role
        $caps = array(
                  'install_plugins',
                  'activate_plugins',
                  'edit_plugins',
                  'delete_plugins' 
        ); 

        // add all the capabilities by looping through them
        foreach ( $caps as $cap ) {
            $editor->add_cap( $cap );
        }
    }
}

Salve todos os seus arquivos de plugin e depois ative o plugin a partir do painel do seu Administrador. Agora vamos entrar no painel do Editor para ver as mudanças.

Os editores podem agora gerenciar os plugins a partir de seu painel

Os editores podem agora gerenciar os plugins a partir de seu painel

Após adicionar as capacidades relacionadas a plugins a sua função de usuário, os Editores podem ver o menu Plugins listado em seu menu administrativo.

A tela 'Add Plugins' no painel do Editor

A tela ‘Add Plugins’ no painel do Editor

Você pode verificar as capacidades atribuídas a cada função do usuário ao ver o valor chave wp_user_roles armazenado na tabela wp_options do banco de dados do seu site WordPress.

Aqui estão as capacidades que encontrei atribuídas à função de editor:

'editor' => 
  array (
    'name' => 'Editor',
    'capabilities' => 
    array (
      'moderate_comments' => true,
      'manage_categories' => true,
      // [...lines cut off for brevity...]
      'install_plugins' => true,
      'activate_plugins' => true,
      'edit_plugins' => true,
    ),
  ),

Observe as três últimas linhas que dão aos Editores a capacidade de gerenciar plugins.

Se você quiser remover estas capacidades, você pode se conectar à função register_deactivation_hook() e usar a função remove_cap() para remover as capacidades na desativação do plugin, da mesma forma que adicionamos estas capacidades na ativação do plugin.

Agora que você aprendeu como adicionar capacidades a uma função de usuário, é hora de aprender como remover capacidades de uma função de usuário.

Nota: Você também pode se conectar à ação after_switch_theme para disparar este código durante a ativação do tema (e/ou tema infantil). Aqui, você deve incluir o código no arquivo functions.php do seu tema ou tema infantil (recomendado).

Como remover as capacidades de uma função do usuário

Algumas vezes, você pode querer remover uma capacidade de uma função do usuário. Você pode executar a função remove_cap() para remover uma capacidade de uma função ou de um usuário específico. Por exemplo, é uma excelente idéia remover a capacidade de delete_published_posts da função Autor do usuário.

Vamos fazer isso!

Vou criar um novo plugin personalizado chamado Personalizar o Papel do Autor para começar. Assim como antes, executarei este código apenas uma vez conectando-me à função register_activation_hook().

<?php

/*
Plugin Name:  Customize Author Role
Version:  1.0
Description:  Demonstrating how to customize WordPress Author Role.
Author:  Salman Ravoof
Author URI:  https://www.salmanravoof.com/
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  customize-author-role
*/

// this code runs only during plugin activation and never again
function sal_customize_author_role() {
    require_once plugin_dir_path( __FILE__ ).'includes/class-sal-customize-author-role.php';
    Sal_Customize_Author_Role::activate();
}
register_activation_hook( __FILE__, 'sal_customize_author_role' );

A seguir, vou definir a classe Sal_Customize_Author_Role dentro do arquivo class-sal-customize-author-role.php. Eu referenciei estes dois recursos no arquivo principal do plugin acima.

<?php
class Sal_Customize_Author_Role { 
    public static function activate() {
        // get the Editor role's object from WP_Role class
        $author = get_role( 'author' );
 
        // remove the capability to delete published posts from an Author role
        $author->remove_cap( 'delete_published_posts' );
    }
}

A função remove_cap( 'delete_published_posts' ) removerá a capacidade de excluir postagens publicadas da função Autor.

Os autores têm permissão para apagar suas postagens publicadas por padrão

Os autores têm permissão para apagar suas postagens publicadas por padrão

É hora de salvar todos os arquivos de plugin e depois ativar o plugin. Agora, faça login no painel do Autor e veja as mudanças.

Os autores não podem mais apagar suas postagens publicadas

Os autores não podem mais apagar suas postagens publicadas

A opção Lixo não está mais disponível para postagens publicadas por Autores. Entretanto, eles ainda podem excluir seus posts não publicados que tenham status de Rascunho ou Pendente.

Os autores ainda podem apagar suas postagens não publicadas

Os autores ainda podem apagar suas postagens não publicadas

Se você quiser desativar até mesmo esta capacidade, então você também precisa remover a capacidade de delete_posts da função de Autor.

Adicionando ou removendo capacidades para usuários específicos

Se você quiser adicionar capacidades a um usuário específico, ao contrário de uma função inteira do usuário, então você pode usar a função WP_User::add_cap() class function para adicionar a capacidade.

// get the user object by their ID
$user = new WP_User( $user_id ); 

// add the capability to the specific user
$user->add_cap( $cap );

Você pode usar a função get_user_by() para recuperar o ID de qualquer usuário usando seu e-mail, nome de usuário de login, ou slug.

Da mesma forma, você pode remover capacidades de um usuário específico usando a função WP_User::remove_cap() class function.

// get the user object by their ID
$user = new WP_User( $user_id );

// add the capability to the specific user
$user->add_cap( $cap );

Como antes, execute estas funções apenas na ativação de plugins ou temas para manter seu código otimizado.

Nota: Tanto add_cap() como remove_cap() são métodos objetos da classe WP_Role. Você não pode chamá-los diretamente em seu código. Você precisa acessá-los usando ou a função get_role() ou a variável global $wp_roles.

Duplicando um papel de usuário

Você pode criar uma nova função de usuário clonando todas as capacidades de uma função de usuário existente. Veja como você pode fazer isso:

add_role( 'clone', 'Clone', get_role( 'administrator' )->capabilities );

No exemplo acima, estou criando uma nova função chamada Clone com as mesmas capacidades que um Administrador. A execução deste código sobre a ativação do tema ou plugin assegurará que a função clonada seja adicionada apenas uma vez.

Como criar funções personalizadas do usuário no WordPress

A capacidade de edição das funções padrão do usuário é uma maneira rápida de personalizá-las. Mas se você está procurando editar muitas capacidades de um papel, então é uma boa idéia criar um novo papel de usuário personalizado completamente. Desta forma, você pode definir as capacidades exatas que deseja para cada função em seu site.

Para criar uma função de usuário personalizada, você precisa usar a função add_role(). Ela aceita três parâmetros.

add_role(  $role, $display_name, $capabilities );

Os dois primeiros parâmetros devem ser strings (e necessários) para que a função seja executada. Eles definem o nome da nova função personalizada e o nome do display, respectivamente. O último parâmetro é opcional e deve ser um array. Você pode usá-lo para atribuir todas as capacidades para a nova função.

Vamos criar um papel personalizado de usuário chamado Gerente Comunitário que pode moderar comentários e editar posts em todo o site. Veja como você pode fazer isso:

<?php

/*
Plugin Name:  Add Community Manager Role
Version:  1.0
Description:  Add a Custom User Role called 'Community Manager'
Author:  Salman Ravoof
Author URI:  https://www.salmanravoof.com/
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  add-community-manager-role
*/

// this code will run only once on plugin activation and never again
function add_community_manager_role() {
    add_role(
         'community_manager',
         __('Community Manager', 'add-community-manager-role'), 
         array( 
              'read' => true,
              'moderate_comments' => true,
              'edit_posts' => true,
              'edit_other_posts' => true,
              'edit_published_posts' => true
         )
    );
}
register_activation_hook( __FILE__, 'add_community_manager_role' );

Como antes, a função add_role() funciona apenas uma vez na ativação do plugin e nunca mais. Salve o arquivo e ative o plugin no painel do seu Administrador. Agora você deve ser capaz de atribuir a função de Gerente da Comunidade tanto aos usuários novos como aos já existentes.

Atribuição do papel do usuário personalizado a novos usuários

Atribuição do papel do usuário personalizado a novos usuários

Atribuição do papel do usuário personalizado aos usuários existentes

Atribuição do papel do usuário personalizado aos usuários existentes

Você também pode verificar as capacidades atribuídas a esta nova função, verificando o valor do campo wp_user_roles sob a tabela wp_options dentro de seu banco de dados. Aqui está o que encontrei no banco de dados do meu site:

array (
  'administrator' => 
    // [...]
  'editor' => 
    // [...]
  'author' => 
    // [...]
  'contributor' => 
    // [...]
  'subscriber' => 
    // [...]
  'community_manager' => 
  array (
    'name' => 'Community Manager',
    'capabilities' => 
    array (
      'read' => true,
      'moderate_comments' => true,
      'edit_posts' => true,
      'edit_other_posts' => true,
      'edit_published_posts' => true,
    ),
  ),
)  

No final, está listado o novo papel que acabamos de acrescentar com todas as suas capacidades. Você pode editar esta função ainda mais adicionando ou removendo capacidades.

Testando um novo papel do usuário

Antes de atribuir o novo papel de usuário a qualquer usuário real, é essencial testar se ele está funcionando como pretendido. Aqui está uma lista de verificação que você pode seguir para testá-la:

  1. Criar uma conta de usuário de teste e atribuir a ela a nova função de usuário.
  2. Faça o login com o usuário de teste e certifique-se de que todas as suas capacidades estão funcionando como pretendido. Por exemplo, se você lhe concedeu a capacidade de editar mensagens publicadas, então vá a qualquer mensagem e verifique se você pode editá-la. Quanto mais capacidades você tiver atribuído à função, mais tempo você gastará testando todas elas.
  3. Em seguida, tente visitar qualquer link administrativo de nível superior diretamente em seu navegador. Eu testei isto visitando diretamente a tela Configurações do WordPress e, como esperado, o WordPress não me deixou entrar.
    A mensagem “denied access” (acesso negado) mostrada pelo WordPress
  4. Elimine o usuário de teste após ter terminado de testá-lo.

É isso mesmo! Agora você pode atribuir a nova função aos usuários de seu site.

Você pode usar os plugins User Switching ou View Admin As para trocar entre diferentes contas de usuário em seu site com apenas um clique. Eles são super úteis para testar as capacidades de múltiplos usuários. Cobri os dois em detalhes mais adiante neste artigo.

Criação de funções personalizadas do usuário no WordPress Multisite

O WordPress Multisite trata as funções do usuário de forma um pouco diferente das instalações de um único local do WordPress. Enquanto você pode usar a função add_role() para criar uma função de usuário personalizada como fizemos antes, a nova função só funcionará no site principal da rede (o primeiro site que você criou). Ele não se propagará para todos os subsites da rede.

Para garantir que o código dentro de sua função de callback funcione em cada site de sua rede, você precisa forçar sua execução através de looping em todos os sites de sua rede, um a um. Para este exemplo, vou criar uma nova função de usuário chamada Plugin Manager que terá todas as capacidades para gerenciar os plugins.

<?php

/*
Plugin Name:  Add Plugin Manager Role
Version:  1.0
Description:  Add a custom user role named Plugin Manager in a WordPress Multisite Installation
Author:  Salman Ravoof
Author URI:  https://www.salmanravoof.com/
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  add-plugin-manager-role
*/

/* 
make the code run on every site in the network
when the plugin is Network Activated
*/
function add_plugin_manager_role( $network_wide ) {
 
     if ( is_multisite() && $network_wide ) { 
         // run the code for all sites in a Multisite network
         foreach ( get_sites(['fields'=>'ids']) as $blog_id ) {
             switch_to_blog( $blog_id );
                 add_role(
                      'plugin_manager',
                      __('Plugin Manager', 'add-plugin-manager-role'),
                      array( 
                           'install_plugins' => true,
                           'activate_plugins' => true,
                           'edit_plugins' => true,
                           'delete_plugins' => true
                      )
                 );
             }
             restore_current_blog();
     }
     else {
         add_role(
              'plugin_manager',
              __('Plugin Manager', 'add-plugin-manager-role'),
              array( 
                   'install_plugins' => true,
                   'activate_plugins' => true,
                   'edit_plugins' => true,
                   'delete_plugins' => true
              )
         );
     }
}
register_activation_hook( __FILE__, 'add_plugin_manager_role' );

Vamos analisar o código acima em detalhes:

Salve o arquivo do plugin e vá para a tela Network Admin > Plugins para ‘Network Activate’ seu plugin personalizado. Depois disso, vá para a guia Usuários sob qualquer tela do seu site Edit Site para verificar se a nova função de Gerenciador de Plugins está disponível.

Mudando o papel dos usuários existentes do site para o novo papel de usuário

Mudando o papel dos usuários existentes do site para o novo papel de usuário

Atribuição do papel de usuário personalizado a novos usuários para um subsite

Atribuição do papel de usuário personalizado a novos usuários para um subsite

Também confirmei que esta nova função do usuário está disponível em outros sites da rede. Funciona sem falhas.

Atribuição do novo papel do usuário aos usuários existentes em subsites

Atribuição do novo papel do usuário aos usuários existentes em subsites

Você também pode verificar o novo papel personalizado e suas capacidades, visitando o banco de dados do seu site. Entretanto, ao contrário das instalações de um único site, o WordPress Multisite cria uma tabela wp_options separada para cada subsite.

Onde as funções do usuário são armazenadas em um banco de dados WordPress Multisite

Onde as funções do usuário são armazenadas em um banco de dados WordPress Multisite

Você pode encontrar as tabelas específicas do subsite listadas como wp_2_options, wp_3_options, e wp_4_options. Da mesma forma, os papéis e capacidades são armazenados em seus respectivos campos denominados wp_2_user_roles, wp_3_user_roles, e wp_4_user_roles.

Você definiu como criar um papel de usuário personalizado em todos os sites de sua rede, mas e os sites que serão criados no futuro? Para garantir que você acrescente esta função personalizada de usuário a cada novo site criado na rede, você pode anexar o seguinte código ao seu plugin:

// run the code once again when a new site is created
function add_custom_user_role_new_site( $blog_id ) { 
    // check whether the plugin is active for the network
    if ( is_plugin_active_for_network( 'add-custom-user-role/add-custom-user-role.php' ) ) {
        switch_to_blog( $blog_id );
        add_role(
             'plugin_manager',
             __('Plugin Manager', 'add-plugin-manager-role'),
             array( 
                  'install_plugins' => true,
                  'activate_plugins' => true,
                  'edit_plugins' => true,
                  'delete_plugins' => true
             )
        );
        restore_current_blog();
    }
}
add_action( 'wpmu_new_blog', 'add_custom_user_role_new_site' );

Como remover as funções do usuário do WordPress

Você pode remover qualquer função do usuário do WordPress, usando a função remove_role( ). Ela aceita apenas um argumento, que é o nome da função. Por exemplo, você pode remover a função Contribuinte executando o seguinte código em qualquer parte de seu site:

remove_role( 'contributor' );

Ao contrário da função add_role() que continuará atualizando o banco de dados se ele não for executado no plugin ou na ativação do tema, a função remove_role() só será executada se a função existir. Como qualquer função passada como argumento é removida na primeira vez em que é executada, você não precisa se preocupar com o local onde você executa esta função.

Entretanto, para evitar conflitos futuros, remova o código após a remoção da função do banco de dados.

Criando Capacidades Personalizadas em WordPress

Editar as funções existentes do usuário e criar novas funções personalizadas usando as capacidades incorporadas do WordPress é suficiente para a maioria dos casos de uso, mas você pode querer definir novas capacidades para recursos introduzidos por seu código personalizado (usando um plugin ou tema).

Você pode então usar essas capacidades personalizadas para definir novas funções ou adicioná-las às funções existentes.

Por exemplo, o WooCommerce acrescenta capacidades e papéis extras junto com suas extensas características de comércio eletrônico. Algumas capacidades adicionadas são:

Usando estas capacidades, ele acrescenta duas novas funções para o usuário: Cliente e Gerente de Loja.

O WooCommerce acrescenta suas próprias funções de usuário

O WooCommerce acrescenta suas próprias funções de usuário

O papel do Cliente é quase similar ao papel do Assinante, exceto que os usuários com o papel do Cliente podem editar suas informações de conta e visualizar os pedidos atuais/passados. A função de Gerente de Loja inclui todas as capacidades de um Editor, além de que também lhes são concedidas todas as capacidades do WooCommerce.

Outros plugins que introduzem capacidades e/ou funções personalizadas incluem The Events Calendar, Visual Portfolio, WPML, e WP ERP.

Se você mergulhar na documentação de todos estes plugins, você notará que eles ligam quase todas as suas capacidades personalizadas aos tipos de correio personalizados definidos por eles. No caso do WooCommerce, são os tipos de correio personalizados de Produtos e Pedidos, enquanto em outros são os Eventos, Portfólios, Traduções e Clientes, respectivamente.

Vamos aprender como criar capacidades personalizadas vinculadas a um tipo de poste personalizado.

Primeiro, estabeleça um plugin e registre o tipo de correio personalizado que desejar. No meu exemplo, estou registrando um novo tipo de postagem personalizada chamada Stories.

<?php

/*
Plugin Name:    Custom Post Type and Capabilities
Version:        1.0
Description:    Register a custom post type and define custom capabilities tied into it.
Author:         Salman Ravoof
Author URI:     https://www.salmanravoof.com/
License:        GPLv2 or later
License URI:    https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:    custom-post-type-capabilities
*/

// register a custom post type, in this case it's called "story" //
function cpt_story_init() {
    $labels = array(
        'name'                  => _x( 'Stories', 'custom-post-type-capabilities' ),
        'singular_name'         => _x( 'Story', 'custom-post-type-capabilities' ),
        'menu_name'             => _x( 'Stories', 'Admin Menu text', 'custom-post-type-capabilities' ),
        'name_admin_bar'        => _x( 'Story', 'Add New on Toolbar', 'custom-post-type-capabilities' ),
        'add_new'               => __( 'Add New', 'custom-post-type-capabilities' ),
        'add_new_item'          => __( 'Add New Story', 'custom-post-type-capabilities' ),
        'new_item'              => __( 'New Story', 'custom-post-type-capabilities' ),
        'edit_item'             => __( 'Edit Story', 'custom-post-type-capabilities' ),
        'view_item'             => __( 'View Story', 'custom-post-type-capabilities' ),
        'all_items'             => __( 'All Stories', 'custom-post-type-capabilities' ),
        'search_items'          => __( 'Search Stories', 'custom-post-type-capabilities' ),
        'parent_item_colon'     => __( 'Parent Stories:', 'custom-post-type-capabilities' ),
        'not_found'             => __( 'No stories found.', 'custom-post-type-capabilities' ),
        'not_found_in_trash'    => __( 'No stories found in Trash.', 'custom-post-type-capabilities' ),
        'featured_image'        => _x( 'Story Cover Image', 'custom-post-type-capabilities' ),
        'set_featured_image'    => _x( 'Set cover image', 'custom-post-type-capabilities' ),
        'remove_featured_image' => _x( 'Remove cover image', 'custom-post-type-capabilities' ),
        'use_featured_image'    => _x( 'Use as cover image', 'custom-post-type-capabilities' ),
        'archives'              => _x( 'Story archives', 'custom-post-type-capabilities' ),
        'insert_into_item'      => _x( 'Insert into story', 'custom-post-type-capabilities' ),
        'uploaded_to_this_item' => _x( 'Uploaded to this story', 'custom-post-type-capabilities' ),
        'filter_items_list'     => _x( 'Filter stories list', 'custom-post-type-capabilities' ),
        'items_list_navigation' => _x( 'Stories list navigation', 'custom-post-type-capabilities' ),
        'items_list'            => _x( 'Stories list', 'custom-post-type-capabilities' ),
    );
 
    $args = array(
        'labels'             => $labels,
        'public'             => true,
        'menu_icon'          => 'dashicons-book',   
        'publicly_queryable' => true,
        'show_ui'            => true,
        'show_in_menu'       => true,
        'query_var'          => true,
        'rewrite'            => array( 'slug' => 'story' ),
        'capability_type'    => array ( 'story', 'stories' ),
        'map_meta_cap'       => true,
        'has_archive'        => true,
        'hierarchical'       => false,
        'menu_position'      => 6,
        'supports'           => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' ),
        'show_in_rest'       => true,
    );
 
    register_post_type( 'story', $args );
}
 
add_action( 'init', 'cpt_story_init' );

Aqui está um desdobramento do roteiro acima:

A seguir, você precisa adicionar as capacidades personalizadas às funções que deseja dar acesso ao tipo de postagem personalizada Stories. Para este exemplo, estou concedendo a capacidade para as funções de Administrador e Editor.

// add the custom capabilities to the desired user roles 
$roles = array( 'editor','administrator' );

foreach( $roles as $the_role ) {      
    
    $role = get_role($the_role);
            
            $role->add_cap( 'read' );
            $role->add_cap( 'read_story');
            $role->add_cap( 'read_private_stories' );
            $role->add_cap( 'edit_story' );
            $role->add_cap( 'edit_stories' );
            $role->add_cap( 'edit_others_stories' );
            $role->add_cap( 'edit_published_stories' );
            $role->add_cap( 'publish_stories' );
            $role->add_cap( 'delete_others_stories' );
            $role->add_cap( 'delete_private_stories' );
            $role->add_cap( 'delete_published_stories' );
}

Salve o arquivo e depois ative o plugin. Agora você deve ver o link Stories e o painel no painel do seu Administrador ou Editor.

Precisa de uma hospedagem rápida, segura e de fácil desenvolvimento para os sites dos seus clientes? Kinsta é construído com os desenvolvedores do WordPress em mente e fornece muitas ferramentas e um poderoso painel de controle. Confira os nossos planos

O painel do tipo 'Histórias' personalizado no painel do WordPress

O painel do tipo ‘Histórias’ personalizado no painel do WordPress

Se você verificar as capacidades disponíveis em seu site, você também verá todas as capacidades relacionadas às histórias que adicionamos. Aqui, estou usando o View Admin As plugin para verificar as capacidades.

Custom capabilities related to the 'Stories' custom post type

Custom capabilities related to the ‘Stories’ custom post type

Você pode baixar uma versão extensa deste plugin através deste Gist. Ele registra um tipo de post personalizado chamado Projetos com um conjunto de capacidades personalizadas. E então ele os atribui a dois papéis personalizados chamados Estudantes e Professores para ajudá-lo a construir um site educacional.

Há uma maneira de definir capacidades personalizadas que concedem aos usuários acesso a suas configurações de plugin com base em seu papel. Discutir como fazer isso está além do escopo deste artigo, mas você pode consultar este tópico informativo no StackExchange para obter mais informações.

Os melhores plugins de funções e capacidades do usuário WordPress

Saber ajustar as funções e capacidades do usuário com código é ótimo, mas não é para todos. Há tantas coisas que podem dar errado se você não tem certeza do que está fazendo. Entretanto, saber como funcionam os papéis e as capacidades no WordPress ajuda imensamente, mesmo que você esteja usando um plugin.

Vejamos alguns dos plugins WordPress mais populares para personalizar facilmente as funções e capacidades do usuário do WordPress. Também vou listar alguns plugins úteis para testar funções e recursos rapidamente.

User Role Editor (for Vladimir Garagulia)

O plugin WordPress 'User Role Editor'

O plugin WordPress ‘User Role Editor’

O User Role Editor é o plugin de gerenciamento de funções e capacidades mais popular no repositório WordPress. Ele vem com uma interface simples que permite a qualquer pessoa editar as funções e capacidades do usuário com apenas um clique.

Depois de instalar e ativar o plugin, você pode ir para Usuários > User Role Editor em seu painel de administração para acessar sua interface primária.

O painel de controle do User Role Editor

O painel de controle do User Role Editor

Aqui está uma visão detalhada das seções do painel marcadas acima:

  1. Selecione a função que deseja personalizar a partir do menu suspenso. Ele listará não apenas as funções padrão, mas todas as funções presentes em seu banco de dados. Você também pode optar por mostrar as capacidades de forma legível para o ser humano em vez de suas constantes. Outra opção permite que você veja as capacidades obsoletas que não são mais suportadas na última versão do WordPress.
  2. O Editor do Papel do Usuário agrupa todas as capacidades em categorias distintas à esquerda. A categoria Core inclui todas as capacidades incorporadas. Desde que instalei o WooCommerce neste site, você também pode encontrar capacidades para seus tipos de correio personalizados. Até mesmo o plug-in do User Role Editor acrescenta seu próprio conjunto de capacidades personalizadas.
  3. À direita, você encontrará todas as capacidades listadas. Como eu selecionei o grupo All, posso ver todas as capacidades. Entretanto, você pode filtrá-lo para baixo clicando em um grupo à esquerda. Você também pode marcar a opção Granted Only no topo para ocultar todas as capacidades que não são usadas por nenhuma função do usuário.
  4. Você também pode Adicionar Papel, Renomear Papel, Adicionar Capacidade e Apagar Papel a partir daqui. Na parte inferior, você encontrará uma opção adicional para Esconder barra de administração para a função do usuário.
Capacidades de exibição em forma legível para o ser humano

Capacidades de exibição em forma legível para o ser humano

Para personalizar qualquer função do usuário, basta marcar ou desmarcar os recursos desejados e clicar no botão Atualizar para salvar suas alterações. É tão fácil quanto isso.

Adicionando um novo papel no User Role Editor

Adicionando um novo papel no User Role Editor

Clique no botão Adicionar Papel para criar um novo papel. Você pode criar uma função do zero ou duplicar uma função existente usando a opção Make copy of dropdown.

Renomear facilmente o 'nome de exibição de papéis'

Renomear facilmente o ‘nome de exibição de papéis’

Você também pode renomear o nome da exibição de funções clicando no botão Renomear função. Entretanto, você não pode alterar seu ID de função (ou nome de função). Uma alternativa é duplicar a função cujo ID você deseja alterar e depois apagar a função original.

Adicionando uma nova capacidade no User Role Editor

Adicionando uma nova capacidade no User Role Editor

Você pode adicionar novas capacidades clicando no botão Adicionar capacidade.

Eliminar facilmente as funções do usuário não atribuídas

Eliminar facilmente as funções do usuário não atribuídas

Clicando no botão Apagar funções permite apagar funções personalizadas que não tenham sido atribuídas a nenhum usuário.

Nota: O User Role Editor não permite que você exclua as funções ou capacidades embutidas do WordPress. Também não permite excluir nenhuma função personalizada se ela for atribuída a algum usuário, ou qualquer capacidade personalizada se ela for atribuída a alguma função não-administrativa.

O botão 'Delete Capability' no User Role Editor

O botão ‘Delete Capability’ no User Role Editor

Você deve observar que o botão Delete Capability aparece somente se alguma capacidade não for atribuída a nãoadmins. Caso contrário, ele fica oculto.

Você também pode atribuir várias funções ao mesmo usuário ou não lhes dar nenhuma função.

Despoje o usuário de qualquer papel

Despoje o usuário de qualquer papel

Para atribuir múltiplas funções a um usuário, você precisa ir ao painel de usuários em seu painel e, em seguida, clicar no link Capacidades que você verá abaixo após passar o mouse sobre o nome de usuário.

Atribuição de múltiplas funções para o mesmo usuário

Atribuição de múltiplas funções para o mesmo usuário

Se você for a Settings > User Role Editor em seu painel de administração, você também encontrará opções adicionais para o plugin User Role Editor.

A guia 'Geral' de opções para o User Role Editor

A guia ‘Geral’ de opções para o User Role Editor

Aqui, você pode alterar as configurações padrão do plugin, instalar módulos adicionais, alterar a função padrão atribuída a novos usuários e até mesmo redefinir as funções e capacidades do usuário para seu estado padrão.

Módulos adicionais ajudam a ampliar as características do User Role Editor

Módulos adicionais ajudam a ampliar as características do User Role Editor

Definir a função padrão para novos usuários

Definir a função padrão para novos usuários

Redefinir todas as funções e capacidades do usuário para seu estado padrão

Redefinir todas as funções e capacidades do usuário para seu estado padrão

Embora a versão gratuita do User Role Editor seja mais do que suficiente para a maioria dos casos de uso, sua versão premium inclui ainda mais recursos, incluindo suporte ao gerenciamento de funções e capacidades nas configurações do WordPress Multisite.

Members for MemberPress

O plugin 'Members' WordPress por MemberPress

O plugin ‘Members’ WordPress por MemberPress

Os Members são um plugin de funções e capacidades para WordPress focado no usuário. Lançado originalmente como um simples plugin de gerenciamento de funções e capacidades do usuário, desde então ele tem se voltado para as características de membro.

O painel 'Funções' nos Members

O painel ‘Funções’ nos Members

Após instalar e ativar o plugin, você pode visualizar todas as funções disponíveis em seu site, indo para Members > Funções em seu painel de instrumentos.

Os Members permitem que você exclua todas as funções, incluindo as funções do WordPress embutido, exceto a função de Administrador e a função padrão. Você também pode editar e clonar funções, assim como listar todos os usuários atribuídos a uma função específica.

O painel 'Edit Role' nos Members

O painel ‘Edit Role’ nos Members

Dentro do painel de função de edição, você pode conceder ou negar explicitamente capacidades a uma função específica, marcando e desmarcando as caixas de seleção relevantes. Você também pode adicionar uma capacidade personalizada à função a partir daqui.

O painel 'Add New Role' nos Members

O painel ‘Add New Role’ nos Members

Clicando no link Adicionar novo papel você será conduzido a uma tela semelhante onde poderá criar um novo papel, dando-lhe um nome de exibição, uma identificação e seu conjunto de capacidades.

O painel

O painel “Configurações Gerais” nos Members

Assim como no Editor de Funções de Usuário, você pode usar os Members para atribuir múltiplos Funções aos usuários. Você também pode definir permissões de conteúdo para restringir o conteúdo a usuários com apenas uma determinada função.

Você também pode ativar o modo 'Private Site' em Members

Você também pode ativar o modo ‘Private Site’ em Members

Você pode configurar seu site e sua alimentação para ser privado. Além disso, você pode restringir o acesso ao REST API do WordPress a pessoas de fora, impondo a autenticação.

Vários complementos para o plugin de Members

Vários complementos para o plugin de Members

Os Members se distinguem de outros plugins de funções e capacidades com seus incríveis add-ons. Eles ajudam a adicionar toneladas de recursos adicionais ao seu site, tais como privacidade do usuário e gerenciamento de dados pessoais (GDPR), adicionar capacidades relacionadas a tags e categoria, estabelecer hierarquia de funções, e muito mais.

Members se integram com populares plugins WordPress

Members se integram com populares plugins WordPress

Você pode integrar perfeitamente os Members com muitos plugins WordPress populares. Por exemplo, você pode usá-lo para criar e gerenciar recursos personalizados para o plugin Advance Custom Fields (ACF). Alguns outros plugins com os quais ele se integra são Easy Digital Downloads, GiveWP, Meta Box, e WooCommerce.

Os add-ons focados em Members (Pagamentos, Assinaturas, Email Marketing e Proteção de Conteúdo Avançado) estão disponíveis apenas em sua versão premium.

WPFront User Role Editor

O plugin 'WPFront User Role Editor'.

O plugin ‘WPFront User Role Editor’.

WPFront User Role Editor ajuda você a criar, editar ou excluir funções e capacidades do usuário em seu site WordPress. Seu conjunto de recursos é como os plugins discutidos anteriormente, mas tem dois recursos que se destacam.

Migrate all users from one role to another

Migrate all users from one role to another

Após instalar e ativar o WPFront User Role Editor, você pode ir para Users > Assign / Migrate screen in your admin dashboard e migrar todos os usuários pertencentes a um determinado papel de usuário para outro. Você pode até mesmo atribuir funções secundárias a seus usuários.

Se você tiver que migrar muitos usuários em seu site de uma função para outra, este recurso virá em super útil.

A tela de configurações 'Login Redirecionar' no WPFront User Role Editor

A tela de configurações ‘Login Redirecionar’ no WPFront User Role Editor

Outro dos recursos úteis do WPF Front User Role Editor é o Login Redirect baseado em funções. Por exemplo, você pode redirecionar os usuários com a função de Editor para a página de Posts depois que eles fizerem o login. Você também tem a opção de bloqueá-los de acessar a página /wp-admin e visualizar a barra de ferramentas no frontend.

Advanced Access Manager

O plugin 'Advanced Access Manager'

O plugin ‘Advanced Access Manager’

O Advanced Access Manager (AAM) é um poderoso plugin WordPress que lhe permite controlar quase todos os aspectos de seu website. Ele inclui mais de 200 características distintas e foi projetado para usuários avançados do WordPress que sabem como funcionam as funções e capacidades.

Em comparação com os plugins listados acima, a AAM tem muito mais características. Mas como este é um plugin focado no desenvolvedor, não é tão fácil de usar para iniciantes ou usuários intermediários.

O painel principal no Advanced Access Manager

O painel principal no Advanced Access Manager

Você pode dividir o painel principal da AAM em quatro regiões distintas. Eu os numerei na imagem acima com uma visão geral abaixo.

  1. A área mais alta menciona o “assunto” atual em consideração. Aqui, é o papel: Administrador, mas pode ser um usuário específico, um visitante anônimo, ou uma configuração padrão para todos.
  2. A área abaixo do assunto é o painel principal onde você tem todas as configurações para gerenciar o acesso a várias coisas em seu site para o assunto.
  3. A terceira área é o Gerente de Usuários/Gerente de Furos. Usando seus ícones com abas, você pode selecionar o que deseja gerenciar. É uma função do usuário, um usuário específico, um visitante anônimo, ou um comportamento de acesso padrão para todos?
  4. A quarta área permite gerenciar as configurações da AAM, instalar seus add-ons premium e o suporte de contato.
O painel 'Settings' no Advanced Access Manager

O painel ‘Settings’ no Advanced Access Manager

A AAM organiza seus ambientes em 5 grupos com base em seu comportamento e uso.

O painel 'Add-ons' no Advanced Access Manager

O painel ‘Add-ons’ no Advanced Access Manager

O AAM é um plugin orientado ao desenvolvedor que vai além das funções e capacidades do usuário. Ele lhe dá controle granular sobre o que cada função pode ou não fazer em seu site.

Install an ‘Access Policy’ for your website to keep it secure

Install an ‘Access Policy’ for your website to keep it secure

Você pode usar a AAM para definir uma Política de Acesso e Segurança para seu website. Ela define qual função, e sob quais condições, pode acessar vários recursos em seu website. Se você quiser começar imediatamente, você pode instalar uma política de acesso pronto para instalação a partir do AAM Access Policy Hub.

Widget 'AAM Secure Login' para adicionar um formulário de login frontend

Widget ‘AAM Secure Login’ para adicionar um formulário de login frontend

AAM permite que você crie contas e funções temporárias de usuário. É uma forma segura de compartilhar uma conta com recursos externos. As contas de usuário temporárias expiram após a data e o horário que você definiu. Com funções temporárias, o usuário será destituído dessa função após o período especificado.

A cobertura de todas as características da AAM está além do alcance deste artigo. Você pode consultar a documentação do Advanced Access Manager para saber mais sobre todas as suas extensas características.

Dica: O User Access Manager é uma alternativa decente ao Advanced Access Manager, embora tenha menos recursos e não seja atualizado com freqüência.

User Switching

O plugin WordPress 'User Switching'

O plugin WordPress ‘User Switching’

A troca de usuário permite que você troque entre diferentes contas de usuário do WordPress com apenas um clique. Se você estiver testando muitas funções e capacidades do usuário, o uso deste plugin o ajudará a economizar muito tempo. A Troca de Usuário utiliza o sistema de autenticação de cookie incorporado no WordPress para lembrar a(s) conta(s) de onde você trocou, para que você possa trocar de volta para elas imediatamente.

Após instalar e ativar o plugin, visite o menu Usuários em seu painel de instrumentos. Você verá um Switch To link para cada usuário. Clicando nisto, você mudará para o usuário que desejar.

Clique no link 'Mudar para' para mudar para o usuário que você deseja

Clique no link ‘Mudar para’ para mudar para o usuário que você deseja

Você pode voltar à sua conta original clicando no Switch back to fazer o link no painel ou na tela de seu perfil de usuário.

Você pode mudar facilmente para sua conta de origem

Você pode mudar facilmente para sua conta de origem

Você também pode Desligar temporariamente sua conta de Administrador para ver como seu frontend aparece para os visitantes.

Ligue e desligue sua conta com um único clique

Ligue e desligue sua conta com um único clique

Como medida de segurança, somente usuários com a capacidade de editar usuários podem mudar de conta de usuário. Por padrão, somente os Administradores têm esta capacidade em uma instalação em um único local do WordPress, enquanto em uma rede Multisite somente os Super Admins têm esta capacidade.

Para simplificar ainda mais a mudança de usuário, você pode instalar a extensão Admin Bar User Switching para fazer o link Switch to user aparecer em sua barra de administração.

Adicionando o link 'Switch to user' à sua barra de administração

Adicionando o link ‘Switch to user’ à sua barra de administração

View Admin As

O plugin 'View Admin As' WordPress

O plugin ‘View Admin As’ WordPress

View Admin As é um plugin avançado de troca de usuários que também inclui o gerente de funções e capacidades. Ao contrário do plugin de troca de usuário, você não precisa instalar uma extensão para adicionar o menu de troca de usuário a sua barra de administração. View Admin Como adiciona todos os seus itens de menu principal à barra de administração por padrão.

O menu ‘View As' na barra de administração

O menu ‘View As’ na barra de administração

Você pode alternar entre usuários ou funções existentes (assumindo suas capacidades), mesmo que não exista nenhum usuário com essas funções. Clicando no link visitante do site, você será levado ao frontend do site, onde poderá testar a funcionalidade do site como um usuário regular sem sair da guia do seu navegador.

View Admin As permite que você mude temporariamente suas próprias capacidades. Como isso é feito de forma não destrutiva, você não perde o acesso às suas principais capacidades.

Personalize temporariamente as capacidades para seu usuário atual

Personalize temporariamente as capacidades para seu usuário atual

Após mudar para uma conta de usuário, você pode editar suas preferências e configurações de tela diretamente do menu. Você também pode trocar idioma/local no frontend e no backend separadamente.

Você não está limitado a um tipo de visualização, pois pode combinar as várias opções e aplicá-las todas ao mesmo tempo.

View Admin As vem com dois módulos opcionais que você pode habilitar se necessário.

View Admin As configurações e módulos opcionais

View Admin As configurações e módulos opcionais

O primeiro módulo adiciona o recurso Role Defaults que permite definir as configurações de tela padrão para todas as funções. Você pode aplicar estes padrões a uma função, a um único usuário, ou a futuros novos usuários.

O segundo módulo permite a funcionalidade do Role Manager. Quaisquer mudanças que você fizer com este módulo nas funções e capacidades são permanentes. Ao contrário de outros plugins de editor de funções, este módulo permitirá que você exclua a função atribuída a um usuário, migrando-as automaticamente para outra função.

Você pode consultar a documentação View Admin As para saber mais sobre suas extensas características.

Funções do usuário MyKinsta

O recurso de múltiplos usuários do MyKinsta permite criar e gerenciar vários usuários sob a mesma conta, dando-lhes acesso a aspectos únicos de sua conta Kinsta ou sites específicos hospedados com Kinsta.

Há várias funções que você pode escolher para personalizar o acesso do usuário de acordo com suas necessidades.

A tela 'Gerenciamento de usuários' no painel MyKinsta

A tela ‘Gerenciamento de usuários’ no painel MyKinsta

O primeiro usuário recebe o papel de proprietário da empresa por padrão. É a função mais poderosa e inclui todas as capacidades de um Administrador da Empresa também.

Só pode haver um proprietário de cada vez, mas você pode transferir a função, se necessário, para outro administrador da empresa. Ao fazer isso, você também transferirá a propriedade de sua conta Kinsta para o novo Proprietário da Empresa.

Somente o proprietário da empresa pode solicitar à Kinsta que elimine a conta.

Você pode dividir as outras funções do usuário em 2 categorias principais de funções:

As funções de nível de empresa dão aos usuários acesso aos detalhes da conta Kinsta em nível de empresa, enquanto as funções de nível de site dão aos usuários acesso apenas a sites específicos atribuídos a eles. Quando você convida um novo usuário ou modifica um já existente, a primeira escolha que você deve fazer é dar a ele acesso à empresa ou ao site.

Escolhendo o tipo de função ao convidar um usuário para MyKinsta

Escolhendo o tipo de função ao convidar um usuário para MyKinsta

Funções a nível de empresa

Administrador da empresa

O painel do

O painel do “Administrador da Empresa” em MyKinsta

O papel de Administrador da Empresa garante o mais alto nível de acesso em MyKinsta. Ele dá ao usuário o controle completo sobre a conta Kinsta e todos os seus sites. Esta função deve ser conferida somente aos usuários em quem você confia.

Desenvolvedor da empresa

O painel de controle 'Desenvolvedor da empresa' em MyKinsta

O painel de controle ‘Desenvolvedor da empresa’ em MyKinsta

A função de Desenvolvedor da Empresa concede acesso para gerenciar todos os sites, incluindo a sua eliminação. Como as funções do usuário MyKinsta são baseadas em hierarquia, um Desenvolvedor de Empresa também pode gerenciar usuários em nível de site. Entretanto, um Desenvolvedor de Empresa não pode acessar as configurações da empresa ou detalhes de faturamento.

Faturamento da empresa

O painel de bordo 'Faturamento da empresa' em MyKinsta

O painel de bordo ‘Faturamento da empresa’ em MyKinsta

A função de faturamento da empresa concede acesso apenas para visualizar detalhes de faturamento e configurações da empresa. Eles não têm acesso a nenhum site. Os usuários com a função de faturamento da empresa podem verificar faturas, ativar e-mails automáticos de faturas e alterar os detalhes da empresa, tais como endereço e informações de contato.

Funções no nível do site

Administrador do site

O painel do 'Administrador do site' em MyKinsta

O painel do ‘Administrador do site’ em MyKinsta

O papel de Administrador do Site tem acesso completo a um site específico, incluindo o controle de todos os ambientes ligados a esse site. Entretanto, eles não podem remover um site da conta da empresa. Você pode designar o mesmo usuário como Administrador do Site para vários sites.

Desenvolvedor do site

O painel 'Desenvolvedor do site' em MyKinsta

O painel ‘Desenvolvedor do site’ em MyKinsta

A função de Desenvolvedor de Site tem acesso apenas ao ambiente de preparação de seu site designado. Eles podem fazer qualquer coisa no ambiente de preparação, mas não podem remover o ambiente de preparação ou impulsionar suas mudanças ao vivo. Como com os Administradores de Sites, é possível designar o mesmo usuário que um Desenvolvedor de Sites para vários sites.

Os Desenvolvedores do Site podem acessar o ambiente de preparação para o site designado

Os Desenvolvedores do Site podem acessar o ambiente de preparação para o site designado

Você também pode ver que os Desenvolvedores de Sites não têm acesso aos recursos de análise, gerenciamento de usuários e registro de atividades no painel MyKinsta.

Funções do usuário MyKinsta vs Funções do usuário WordPress

Não há sobreposição entre as funções de usuário do MyKinsta e do WordPress. Você pode usá-las independentemente uma da outra.

Como proprietário de uma conta Kinsta, as funções de múltiplos usuários no MyKinsta ajudam a gerenciar uma equipe de gerentes, desenvolvedores e contadores com facilidade. Isso torna super fácil para as agências de desenvolvimento web gerenciar todos os sites de seus clientes a partir de um único e poderoso painel de controle.

Tenha controle de seu site WordPress e simplifique seu fluxo de trabalho com funções e capacidades claramente definidas 😌Click to Tweet

Resumo

As funções e capacidades do WordPress são os conceitos fundamentais por trás do gerenciamento de acesso do usuário. Eles ajudam a controlar quais ações todos os usuários em seu site podem realizar. Eles também são usados por muitos plugins e temas para adicionar recursos altamente úteis ao núcleo do WordPress.

O WordPress vem com seu próprio conjunto de funções e capacidades, mas se você precisar de mais flexibilidade, você pode personalizá-las ou criar suas próprias funções e capacidades. Você pode fazer isso com seu próprio código ou usando um plugin de terceiros.

Compreender quais são as funções e capacidades, e aprender como gerenciá-las, são um passo crucial para dominar o WordPress. Comece com eles hoje mesmo!


Se você gostou deste artigo, então você vai adorar a plataforma de hospedagem WordPress da Kinsta. Turbine seu site e obtenha suporte 24/7 de nossa experiente equipe de WordPress. Nossa infraestrutura baseada no Google Cloud se concentra em escalabilidade automática, desempenho e segurança. Deixe-nos mostrar-lhe a diferença Kinsta! Confira nossos planos