parece o valor da chave de habilidade. array (‘rolename’ => array (‘name’ => ‘rolename’, ‘capabilities’ => array())) A classe WP_Roles define muitos métodos. Você pode chamá-los em qualquer lugar no seu código. para interagir com a API de funções de usuário. Nota: WordPress inclui outra classe base chamada WP_Role (note o singular \
Quando wp_user_roles valor chave de wp_user_roles, será assim: array (‘administrator’ => array (‘nome’ => ‘Administrador’, ‘capabilities’ => array (‘switch_themes’ => true, ‘edit_themes’ => true, ‘activate_plugins’ => true, \/\/ […resto das linhas cortadas para brevidade…]), ‘ 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 (‘nome’ => ‘Autor’, ‘capacidades’ => array (‘upload_files’ => true, ‘edit_posts’ => true, ‘edit_published_posts’ => true, \/\/ […resto das linhas cortadas para brevidade…]), ‘ contributor’ => array (‘name’ => ‘Contributor’, ‘capabilities’ => array (‘edit_posts’ => true, ‘read’ => true, \/\/ […resto das linhas cortadas para brevidade…]), ‘ subscriber’ => array (‘name’ => ‘Subscriber’, ‘capabilities’ => array (‘read’ => true, ‘level_0’ => true, ), ), é um frame multidimensional com cada função atribuído um nome de função e dado um conjunto de recursos. Da mesma forma, o WordPress armazena recursos baseados no usuário na tabela wp_usermeta com o nome da chave meta wp_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 website Gráfico Função vs Capacidades
as funções padrão dos usuários podem executar tanto em configurações do WordPress de um único site quanto em vários sites. Há uma pausa após um certo número de habilidades para facilitar a distinção entre capacidades de alto e baixo nível.
Para uma melhor representação de todas as funções e recursos do WordPress de relance, você pode ver esta excelente tabela do Exygy. O Gutenberg Block Editor do WordPress introduziu um recurso incrível chamado Blocos Reutilizáveis. Permite salvar um bloco inteiro (ou vários blocos) como um modelo e usá-lo em qualquer outro lugar do seu site.
Criar blocos reutilizáveis Editar blocos reutilizáveis Ler blocos reutilizáveis Excluir blocos reutilizáveis As funções listadas acima funcionam semelhantes às funções relacionadas às postagens. Um administrador ou editor tem acesso a todos os recursos relacionados a blocos reutilizáveis, enquanto um autor pode editar ou excluir apenas blocos reutilizáveis criados por eles. Os colaboradores só podem ler blocos reutilizáveis. Capacidade especial: carga não filtrada Carga não filtrada é uma função especial que não é atribuída por padrão a nenhuma função de usuário, incluindo administrador ou superadministrador. Permite que o usuário carregue arquivos com qualquer extensão (por exemplo, SVG ou PSD), não apenas aqueles listados em branco pelo WordPress.
Nota: Você pode obter uma lista de tipos MIME e extensões de arquivo suportadas pelo WordPress usando a função wp_get_mime_types(). Para ativar esse recurso, você precisa adicionar o trecho de código abaixo ao seu arquivo. wp-config. php . Defina a constante antes da linha que lhe pede s
parar de editar. define(‘ALLOW_UNFILTERED_UPLOADS’, true); Depois de definir essa constante, você pode oferecer a qualquer função de usuário em um único site WordPress a instalação de capacidade de carga não filtrada. No entanto, em uma instalação Multisite, apenas um Super Admin pode ter esse recurso. Por exemplo, se você quiser atribuir a capacidade unfiltered_upload a um editor, você pode adicionar o seguinte código em qualquer lugar do código. WordPress (idealmente executado apenas na ativação do tema ou plugin):
ress = um site mais seguro + paz de espírito para você e os seus clientes. Clique para enviar um Tweet As seis funções de usuário padrão do WordPress incluem seis funções de usuário predefinidas. O primeiro usuário de uma instalação do WordPress recebe a função Administrador por padrão (ou a função Super Administrador com instalações do WordPress Multisite). Desde que o WordPress começou como uma plataforma de blogs antes de se desenvolver em um CMS completo, ele define a maioria dos papéis de seus usuários para publicar conteúdo na web. As outras funções de usuário predefinidas são Editor, Autor, Colaborador e Assinante.
uma vez que um administrador é o papel mais poderoso, você deve atribuí-lo apenas àqueles em quem você confia. Idealmente, deve haver apenas um administrador no site. O papel do administrador em uma rede WordPress multisite é definido um pouco diferente, embora seja chamado o mesmo. Em uma rede multisite, a função de administrador não desfruta de alguns recursos que possui em um único site WP, como instalar temas e plugins. O WordPress reserva esses recursos para o papel de Super Admin. Editor
Eles e os trabalhos de casa. Nota: Um autor pode excluir suas postagens mesmo após a publicação. Se você atribuir a alguém o papel de autor, certifique-se de que você está bem com o controle total sobre suas postagens, incluindo excluí-las. Colaborador
a multisite Configurar uma rede multisite Atribuir administradores a sites de rede individuais
Painel do administrador de rede Você pode usar o painel Sites para gerenciar os vários sites que fazem parte da rede Multisite. Os sites listados aqui serão um subdiretório ou subdomínio, dependendo de como você configurar sua rede WordPress Multisite. A partir daqui, você pode adicionar novos sites à rede ou remover sites existentes da rede. Você também pode acessar informações sobre sites, usuários, temas e configurações gerais de rede aqui. O primeiro site criado é o primeiro site na rede. A rede herda todas as suas configurações das opções do primeiro site.
tapetes. Depois de instalar a versão mais recente do WordPress, você pode aplicá-la a todos os sites em sua rede através da tela Atualizar Rede.
Usa um administrador. Se você tiver mais de um editor em seu site, certifique-se de que você pode confiar em seus recursos estendidos. Atribua autoria a criadores de conteúdo em que você pode confiar, pois eles podem publicar e excluir suas próprias postagens. As funções de colaborador são mais adequadas para novos criadores de conteúdo e guest posts.Personalize as funções de usuário conforme necessário As funções de usuário padrão do WordPress são úteis, mas podem não ser adequadas para todos os casos de uso. Por exemplo, dando aos autores a oportunidade de moderar comentários. Felizmente, o WordPress nos dá a capacidade de personalizar funções de usuário ou criar novas funções de acordo com nossas necessidades exclusivas. Você pode fazer isso manualmente por código ou usando plugins de função de usuário do WordPress. Vamos cobrir ambos os métodos neste artigo. Gerenciar usuários da rede WordPress Multisite inclui configurações exclusivas para gerenciar usuários. Alguns deles são fáceis de entender, enquanto outros não são. Vamos explorá-los em profundidade. A partir da caixa, apenas um super administrador pode criar novos usuários e sites na rede. No entanto, eles podem permitir que os usuários registrem contas de rede como Assinar Subsites. Para ativar isso, acesse Administrador de rede > Configurações de rede > Configurações de registro > Permitir novos registros e ative a opção \
Você pode atribuir o mesmo usuário a vários sites em sua rede. com papéis únicos. Quando o usuário se conecta ao painel de controle de seus sites, ele pode acessar o painel de todos os sites por meio da tela Meus Sites.
uma função de usuário, é hora de aprender a remover recursos de uma função de usuário. Observação: Você também pode conectar-se à ação after_switch_theme para disparar esse código durante a ativação do tema (e\/ou tema filho). Aqui, você deve incluir o código nas funções (recomendadas) do seu tema ou tema filho. ficheiro php. Como remover recursos de uma função de usuário Às vezes, você pode querer remover um recurso de uma função de usuário. Você pode executar a função remove_cap() para remover um recurso de uma função ou um usuário específico. Por exemplo, é uma excelente ideia remover o recurso delete_published_posts da função de usuário Autor. Vamos acabar com isto! Vou criar um novo plugin personalizado chamado Customize Author Role para começar. Assim como antes, eu vou executar este código apenas uma vez ligando na função register_activation_hook().
a classe WP_User:: add_cap() para adicionar capacidade. \/\/ obter o objeto usuário pelo seu ID $user = new WP_User( $user_id ); \/\/ adicionar a capacidade ao usuário específico $user->add_cap( $cap ); Você pode usar a função get_user_by() para recuperar o ID de qualquer usuário usando seu endereço de e-mail, nome de usuário de login ou slug. Da mesma forma, você pode remover recursos de um usuário específico usando a função de classe WP_User::remove_cap(). obter o objeto usuário pelo seu ID $user = new WP_User( $user_id ); \/\/ adicionar a capacidade ao usuário específico $user->add_cap( $cap ); Como antes, execute esses recursos apenas na ativação do plugin ou tema para manter seu código otimizado. Nota: Tanto add_cap() quanto remove_cap() são métodos de objeto da classe WP_Role. Você não pode chamá-los diretamente em código. Você deve acessá-los usando a função get_role() ou a variável global $wp_roles. Duplicar uma função de usuário Você pode criar uma nova função de usuário clonando todos os recursos de uma função de usuário existente. Aqui está como você pode fazer isso: add_role(‘clone’, ‘Clone’, get_role(‘administrador’)->capacidades ); No exemplo acima, crio uma nova função chamada Clonagem com os mesmos recursos que um administrador. Executar este código no tema ou ativar o plugin garantirá que a função clonada seja adicionada apenas uma vez. Como criar funções de usuário personalizadas no WordPress Editar as capacidades de funções de usuário padrão é uma maneira rápida de personalizá-las. Mas se você quiser editar muitas funções de uma função, então é uma boa ideia criar uma nova função de usuário personalizada. Dessa forma, você pode definir os recursos exatos que deseja para cada função em seu site. Para criar uma função de usuário personalizada, você deve usar a função add_role(). Aceite três parâmetros. add_role( $role, $display_name, $capabilities ); Os dois primeiros parâmetros devem ser strings (e necessários)
para executar a função. Eles definem o nome da nova função personalizada e o nome de exibição respectivamente. O último parâmetro é opcional e deve ser um array. Você pode usá-lo para atribuir todas as funções à nova função. Crie uma função de usuário personalizada chamada Community Manager que pode moderar comentários e editar postagens em todo o site. Aqui está como você pode fazer isso:
r-role’), array(‘install_plugins’ => true, ‘activate_plugins’ => true, ‘edit_plugins’ => true, ‘delete_plugins’ => true ); } restore_ current_ blog (); } else {add_role(‘plugin_manager’, __(‘Gerenciador de plugins’, ‘add-plugin-manager-role’), array(‘install_plugins’ => true, ‘activate_plugins’ => true, ‘edit_plugins’ => true ); } } register_activation_hook( __FILE__, ‘add_plugin_manager_role’); Vamos passar pelo código acima em detalhes: Primeiro, conecte-se à ação de ativação do plugin com a função register_activation_hook() e mude para a função de chamada reversa. Aqui, a função de chamada reversa é add_plugin_manager_role(). Em seguida, você define a função de chamada reversa e alterna para um único argumento junto com ele chamado $network_wide. O parâmetro $network_wide é um bool que retorna true se você tiver ativado o plugin para toda a rede. Retorna false se você o ativou apenas para o site atual. Ele também se aplica apenas a instalações multisite e seu valor padrão é falso. A instrução is_multisite() && $network_wide verifica se o plugin é \
rmina loop, defina restore_current_blog() função para garantir que você restaure o status do site comutado de volta ao seu estado original. O código na instrução else é uma solução alternativa para garantir a compatibilidade com instalações de um único local. Salve o arquivo do plugin e vá para Admin Network > Screen Plugin para \
enu text’, ‘custom-post-type-capabilities’ ), ‘name_admin_bar’ => _x(‘Story’, ‘Adicionar Novo na Barra de Ferramentas’, ‘custom-post-type-capabilities’ ), ‘add_new_item’ => __ (‘Adicionar Nova História’, ‘custom-post-type-capabilities’ ), ‘new_item’ => __ (‘Nova História’, ‘custom-post-type-capabilities’ ), ‘edit_item’ => __ (‘Edit Story’, ‘custom-post-type-capabilities’ ), ‘view_item’ => __ (‘View Story’, ‘custom-post-type-capabilities’ ), ‘all_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(‘Remover imagem de capa’, ‘custom-post-type-capabilities’ ), ‘use_featured_image’ => _x(‘Usar como imagem de capa’, ‘custom-post-type-capabilities’ ), ‘insert_into_item’ => _x(‘Inserir na história’, ‘custom-post-type-capabilities’ ), ‘uploaded_to_this_item’ => _x(‘Carregado para esta história’, ‘custom-post-type-capabilities’ ), ‘filter_items_list’ => _x(‘Lista de histórias de filtro’, ‘custom-post-type-capabilities’ ), ‘items_list_navigation’ => _x(‘Lista de histórias’, ‘custom-post-type-capabilities’ ), ‘items_list’ => _x(‘Lista de histórias’, ‘custom-post-type-capabilities’ ), ); $ args = array(‘labels’ => $labels, ‘public’ => true, ‘menu_icon’ => ‘dashicones-book’, ‘public_queryable’ => true, ‘show_ui’ => true, ‘show_in_menu’ => true, ‘query_var’ => true, ‘rewrite’ => array(‘slug’ => ‘story’), ‘capability_type’ => array (‘story’), ‘map_meta_cap’ => true, ‘ha
u, concordar com a capacidade de funções de administrador e editor. Você precisa de hospedagem rápida, segura e amigável para desenvolvedores para seus sites. Cliente? Kinsta foi projetado com desenvolvedores WordPress em mente e oferece muitas ferramentas e um painel poderoso. Verifique nossos planos \/\/ adicione os recursos personalizados aos papéis de usuário desejados $roles = array(‘editor’, ‘administrador’); foreach( $roles as $the_role ) { $role = get_role($the_role); $role->add_cap(‘read’ ); $role->add_cap(‘read_private_stories’); $role->add_cap(‘edit_story’); $role->add_cap(‘edit_stories’); $role->add_cap(‘edit_other_stories’); $role->add_cap(‘edit_stories’); $role->add_cap(‘edit_published_stories’); $role->add_cap(‘edit_stories’); $role->add_cap(‘published_stories’); $role-> ; $ role->add_cap(‘delete_private_stories’ ); $ role->add_cap(‘delete_published_stories’ ); } Salve o arquivo e ative o plugin. Agora você deve ver o link e o painel Histórias no painel do administrador ou editor.
detalhes para seus tipos de postagem personalizados. Até mesmo o plugin User Role Editor adiciona seu próprio conjunto de recursos personalizados. À direita, você encontrará todos os recursos listados. Ao selecionar o grupo Todos, posso ver todas as funções. No entanto, você pode filtrá-lo clicando em um grupo à esquerda. Você também pode marcar a opção Somente concedido na parte superior para ocultar todas as funções que não são usadas por nenhuma função de usuário. Você também pode adicionar uma função, renomear a função, adicionar capacidade e excluir a função a partir daqui. Na parte inferior, você encontrará uma opção adicional para ocultar a barra de administração para a função de usuário.
Desde então, o lisador virou-se para funções de membro.
o utilizador desejado.
a sua conta. Kinsta para o novo proprietário da empresa. Somente o proprietário da empresa pode pedir à Kinsta para excluir a conta. Você pode dividir as outras funções de usuário em 2 categorias principais de funções: Nível da empresa Nível da empresa As funções de nível da empresa dão aos usuários acesso aos detalhes da conta Kinsta de nível da empresa, enquanto as funções de nível do site dão aos usuários acesso apenas a sites específicos atribuídos a eles. Quando você convida um novo usuário ou altera um existente, a primeira escolha que você precisa fazer é dar acesso à sua empresa ou site. <?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 */ WordPress recomandă rularea acestei funcții pe activarea pluginului sau a temei, deoarece setările pe care le adaugă sunt stocate în baza de date în tabelul wp_options din câmpul wp_user_roles . Este ineficient să executați această funcție de fiecare dată când încărcați orice pagină, deoarece tabelele bazei de date vor continua să fie suprascrise la fiecare încărcare a paginii. Deoarece folosesc un plugin, voi folosi funcția register_activation_hook () pentru a vă conecta la acțiunea care se execută când activați un plugin. Există multe modalități de a face acest lucru, dar folosesc o implementare robustă bazată pe clase pentru a mă asigura că nu există conflicte. // 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' ); Codul de mai sus rulează o singură dată în timpul activării pluginului. Funcția conectată sal_customize_user_role face referire la o clasă personalizată numită Sal_Customize_User_Role . Am definit această clasă într-un fișier separat numit class-sal-customize-user-role.php și l-am plasat în folderul meu rădăcină al pluginului într-un subfolder numit includes , dar îl puteți numi oricum doriți. Funções a nível da empresa Administrador da empresa
site, incluindo o controle de todos os ambientes ligados a esse site. No entanto, não posso remover um site da conta da empresa. Você pode atribuir o mesmo usuário que um administrador de site a vários sites. Desenvolvedor de Website
Se você precisar de mais flexibilidade, você pode personalizá-los ou criar suas próprias funções e recursos, você pode fazer isso com seu próprio código ou usando um plugin de terceiros. Compreender quais são os papéis e capacidades e aprender a gerenciá-los são passos cruciais para dominar o WordPress. Começa com eles hoje!