Remova itens de plugins do menu do admin do WordPress

Rate this post

Remover os itens de plugins do menu do admin do WordPress sem utilizar nenhum plugin é quase tão simples quanto remover os itens padrões do WP. Mas para que eu precisaria fazer isso? São diversas as situações onde você não quer que um tipo de usuário específico tenha acesso a determinado plugin, que por padrão lhe da direitos de edição. Por esse motivo podemos desejar excluir items de plugins específicos. Então vamos lá:

Obs: É importante que se use um tema filho (child) para que as alterações sejam mantidas após a atualização do tema, se seu tema não tiver um tema filho, faça um backup do functions.php de seu tema antes de atualizá-lo.

O arquivo que vamos mexer é o functions.php que está dentro da pasta /wp-content/themes/seutema/ e o código inserido será o seguinte:

function remove_menu_items() { //criamos uma função com o nome remove_menu_items que pode ser substituido por um nome a sua escolha
    if( current_user_can( 'administrator' ) ): //slug do role
        remove_menu_page( 'shareaholic-settings' ); //Shareaholic
        remove_menu_page('loco-translate'); // Loco Translator
	remove_menu_page('wpseo_dashboard'); // SEO by Yoast
    endif;
}
add_action( 'admin_menu', 'remove_menu_items' );

Explicando o código acima o role nada mais é do que a função que definimos a um usuário ao criá-lo, que pode ser os padrões do WordPress:

  • administrador (slug: administrator)
  • Editor (slug: editor)
  • Autor (slug: author)
  • Colaborador (slug: contribuitor)
  • Assinante (slug: subscriber)

Ou ainda outros roles criados por plugins terceiros como o Shop Manager (slug: shop_manager) do WooCommerce, por exemplo.

Quanto as linhas

remove_menu_page( '?????' );

substitua o ????? pelo final da URL que está após “http://www.wordpress.etc.br/wp-admin/admin.php?page=” (O UR pode ser facilmente descoberto clicando com o botão direito em cima do item do plugin menu e então em “Copiar o endereço do Link”). Exemplo:

Ao copiar a URL:
http://www.example.com/wp-admin/admin.php?page=wpseo_dashboard
Remova:
http://www.example.com/wp-admin/admin.php?page=
E portatanto utilize somente:
wpseo_dashboard, que inserido na linha fica: remove_menu_page(‘wpseo_dashboard’);

Lembrando que as dicas acima funcionarão apenas para itens de plugins do menu do WordPress. Deseja excluir itens padrões do menu do WordPress? Clique aqui e saiba como.

Marcelo Srougi é desenvolvedor web na agência Srougi.biz, co-fundador do Rache Aqui, MBA em Gestão de Projetos pelo IBMEC, e fundador do portal Vida Loka.

Leave a Reply