Já precisou bloquear a área de administração de todos os usuários que não são administradores? Este trecho de código redirecionará todos os usuários que não são administradores de volta ao domínio principal quando eles tentarem acessar o painel do WordPress.
Instruções
Tudo o que você precisa fazer é adicionar este código ao arquivo functions.php do seu tema ou em um plugin específico do site:
add_action( 'init', 'blockusers_wps_init' );
function blockusers_wps_init() {
if ( is_admin() && ! current_user_can( 'administrator' ) ) {
wp_redirect( home_url() );
exit;
}
}
Observação: Se esta é a primeira vez que você adiciona snippets de código no WordPress, consulte nosso guia sobre como copiar / colar snippets de código corretamente no WordPress, para não quebrar acidentalmente seu site.
Se você gostou deste trecho de código, considere conferir Como Fazer Backup Facilmente do Seu Site WordPress (Passo a Passo).
Obrigado por compartilhar! Trecho incrível, mas causou problemas com o plugin Ninja Forms quando você quer enviar um e-mail! Alguma dica para isso?
Isso não bloquearia o AJAX que usa 'no_priv' ou qualquer tipo de AJAX?
Eu quero que o autor possa acessar essa página em vez de apenas um administrador (eu sei o código, mas preciso de ajuda para adicioná-lo). Também é possível acessar apenas posts e mídia?
se você olhar para current_user_can e mudar a capacidade para outra coisa, isso permitirá que outras funções acessem. Veja esta página no codex do wordpress para ver o que pode ser feito,
http://codex.wordpress.org/Roles_and_Capabilities
Obrigado. Existe um código que possa adicionar administradores? Tipo "se administrador e autor puderem" ou algo assim?
Tudo o que um autor pode, um administrador também pode, então permitir autores também permitirá administradores.