Para sites de membros, lojas WooCommerce ou portais de utilizadores, a barra de admin WordPress padrão é perturbadora para clientes normais.
O problema
A barra de admin WordPress aparece para todos os utilizadores logados. Problemático para:
- Sites de Membros: Quebra a aparência profissional
- E-commerce: Distrai da experiência de compra
- Portais de Clientes: Parece pouco profissional
A solução
Adiciona isto ao functions.php:
/**
* Mostrar barra admin apenas para administradores
*/
add_action('after_setup_theme', 'wppoland_remove_admin_bar');
function wppoland_remove_admin_bar() {
if ( ! current_user_can( 'administrator' ) && ! is_admin() ) {
show_admin_bar( false );
}
}
Como funciona
current_user_can('administrator'): Verifica papel de admin! is_admin(): Apenas no frontendshow_admin_bar(false): Esconde a barra
Esconder baseado em papel
add_action('after_setup_theme', 'wppoland_remove_admin_bar_by_role');
function wppoland_remove_admin_bar_by_role() {
if ( is_admin() ) return;
$current_user = wp_get_current_user();
$hidden_roles = array( 'subscriber', 'customer', 'contributor' );
if ( array_intersect( $hidden_roles, $current_user->roles ) ) {
show_admin_bar( false );
}
}
Porquê código em vez de plugin?
Overhead de Plugin:
- Queries de base de dados
- Ficheiros PHP adicionais
- Manutenção de atualizações
Benefícios do Código:
- Zero overhead
- Controlado por versão
- Sem conflitos de plugins
- Execução mais rápida
Melhores práticas
- Sempre verificar
is_admin() - Usar capabilities em vez de roles
- Testar com diferentes papéis de utilizador
- Documentar a lógica
Resumo
- ✅ Design frontend limpo
- ✅ Melhor experiência de utilizador
- ✅ Aparência mais profissional
- ✅ Sem overhead de plugin



