Quando entrega um site WordPress a um cliente, o painel padrão é frequentemente avassalador. Está cheio de “Avisos de Upsell”, menus confusos como “Comentários” (quando os comentários estão desativados) e jargão técnico.
Um dashboard genérico diz “Instalei um tema”. Um dashboard personalizado diz “Construí uma aplicação profissional”.
Neste guia, vamos dominar a Personalização do Admin WordPress para criar uma experiência limpa e white-label para os seus clientes.
1. Limpar o menu de admin
O primeiro passo é remove_menu_page. A maioria dos clientes não precisa de ver “Ferramentas” ou “Definições”.
Melhor Prática: Verifique permissões (capabilities), não IDs. Nunca esconda menus para Administradores.
/**
* Limpar Menu de Admin para Não-Admins
*/
function wppoland_clean_admin_menu() {
// Permitir sempre que o Admin veja tudo
if ( current_user_can( 'manage_options' ) ) {
return;
}
// Remover menus de nível superior
remove_menu_page( 'tools.php' ); // Ferramentas
remove_menu_page( 'options-general.php' ); // Definições
remove_menu_page( 'edit-comments.php' ); // Comentários
remove_menu_page( 'edit.php?post_type=acf-field-group' ); // ACF (Segurança!)
// Remover submenus
remove_submenu_page( 'themes.php', 'theme-editor.php' );
remove_submenu_page( 'plugins.php', 'plugin-editor.php' );
}
add_action( 'admin_menu', 'wppoland_clean_admin_menu', 999 );
Aviso:
remove_menu_pageapenas esconde o link. Um utilizador esperto ainda pode aceder a/wp-admin/options-general.phpdiretamente. Para bloquear realmente o acesso, verifique as permissões emcurrent_screenouadmin_init.
2. Adicionar páginas de menu personalizadas
Não use frameworks de opções de tema se não precisar. A API nativa é rápida e leve.
function wppoland_register_support_page() {
add_menu_page(
'Suporte ao Cliente', // Título da Página
'Suporte', // Título do Menu
'edit_posts', // Permissão
'wppoland-support', // Slug
'wppoland_render_support', // Callback
'dashicons-sos', // Ícone
90 // Posição
);
}
add_action( 'admin_menu', 'wppoland_register_support_page' );
function wppoland_render_support() {
?>
<div class="wrap">
<h1>Precisa de Ajuda?</h1>
<div class="card">
<h2>Contacte o seu Programador</h2>
<p>Email: <a href="mailto:dev@wppoland.com">dev@wppoland.com</a></p>
<p>Telefone: +48 729 108 200</p>
</div>
</div>
<?php
}
3. Personalizar a toolbar (barra de admin)
A Toolbar é visível no frontend para utilizadores logados. É um local privilegiado para “Ações Rápidas” como “Limpar Cache” ou “Editar no Page Builder”.
function wppoland_customize_toolbar( $wp_admin_bar ) {
// Remover o logótipo WordPress (Profissionalismo)
$wp_admin_bar->remove_node( 'wp-logo' );
// Adicionar uma ação personalizada
$wp_admin_bar->add_node( [
'id' => 'clear-redis',
'title' => '⚡ Limpar Cache',
'href' => admin_url( 'admin-post.php?action=wppoland_clear_cache' ),
'meta' => [ 'title' => 'Limpar Redis Object Cache' ]
] );
}
add_action( 'admin_bar_menu', 'wppoland_customize_toolbar', 999 );
4. Widgets do dashboard: O ecrã de boas-vindas
Quando um cliente faz login, aterra no Dashboard. Os widgets padrão (“Eventos WordPress”, “Rascunho Rápido”) são geralmente inúteis para eles.
Substitua-os por um widget de estado personalizado.
function wppoland_dashboard_widgets() {
// Remover padrões
remove_meta_box( 'dashboard_primary', 'dashboard', 'side' ); // WP Events
remove_meta_box( 'dashboard_quick_press', 'dashboard', 'side' ); // Quick Draft
// Adicionar Widget Personalizado
wp_add_dashboard_widget(
'wppoland_status_widget',
'Estado do Site',
'wppoland_render_status_widget'
);
}
add_action( 'wp_dashboard_setup', 'wppoland_dashboard_widgets' );
function wppoland_render_status_widget() {
echo '<p>✅ <strong>WordPress Core</strong>: Atualizado</p>';
echo '<p>✅ <strong>Backups</strong>: Diário (Último: 02:00)</p>';
echo '<p>📈 <strong>Tráfego</strong>: <a href="/pt-pt/#">Ver Analytics</a></p>';
}
5. White labeling via CSS
Finalmente, adicione algum brilho. Carregue um ficheiro CSS personalizado para a área de admin para corresponder à marca do seu cliente (ou da sua agência).
function wppoland_admin_styles() {
echo '<style>
/* Alterar cor da Admin Bar */
#wpadminbar { background: #2c3e50; }
/* Destacar Menu Personalizado */
#toplevel_page_wppoland-support .wp-menu-image { color: #e74c3c !important; }
/* Esconder avisos de plugins chatos */
.notice.is-dismissible { display: none; } /* Use com cuidado! */
</style>';
}
add_action( 'admin_head', 'wppoland_admin_styles' );
Resumo
Personalizar a área de admin não é apenas vaidade. É sobre Experiência do Utilizador (UX). Ao remover a desordem e destacar ferramentas importantes, reduz os pedidos de suporte e faz com que os seus clientes sintam que possuem um produto premium.


