Customizing the WordPress Admin Dashboard
Custom Code Solution
Add these code snippets to your theme's functions.php
file or in a site-specific plugin.
Remove default dashboard widgets:
function remove_default_dashboard_widgets() {
remove_meta_box('dashboard_quick_press', 'dashboard', 'side');
remove_meta_box('dashboard_primary', 'dashboard', 'side');
remove_meta_box('dashboard_right_now', 'dashboard', 'normal');
remove_meta_box('dashboard_activity', 'dashboard', 'normal');
}
add_action('admin_init', 'remove_default_dashboard_widgets');
Add a custom welcome widget:
function add_welcome_dashboard_widget() {
wp_add_dashboard_widget(
'custom_welcome_widget',
'Welcome to Your Dashboard',
'display_welcome_widget_content'
);
}
add_action('wp_dashboard_setup', 'add_welcome_dashboard_widget');
function display_welcome_widget_content() {
echo '<h3>Welcome ' . wp_get_current_user()->display_name . '!</h3>';
echo '<p>Here are some quick links:</p>';
echo '<ul>
<li><a href="' . admin_url('post-new.php') . '">Create New Post</a></li>
<li><a href="' . admin_url('upload.php') . '">Media Library</a></li>
<li><a href="' . admin_url('users.php') . '">Manage Users</a></li>
</ul>';
}
Customize dashboard colors and styles:
function custom_admin_css() {
echo '<style>
#wpadminbar, #adminmenu, #adminmenuback, #adminmenuwrap {
background: #2c3338; /* Change main color */
}
#dashboard-widgets .postbox {
background: #fff;
border-radius: 4px;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.welcome-panel {
background: #f0f6fc;
}
</style>';
}
add_action('admin_head', 'custom_admin_css');
Rearrange dashboard columns layout:
function set_dashboard_columns() {
return array(
'dashboard-primary' => array('side', 'core'),
'custom_welcome_widget' => array('normal', 'core'),
);
}
add_filter('dashboard_screen_layout_columns', 'set_dashboard_columns');
Plugin Solutions
If you prefer using plugins, here are some reliable options:
-
Admin Menu Editor - Customize menu items and permissions
-
Ultimate Dashboard - Create custom widgets and modify dashboard layout
-
AG Custom Admin - Complete admin panel customization
Additional Tips
- Test changes in a staging environment first
- Consider user roles when customizing the dashboard
- Keep backups of original dashboard settings
- Use WordPress core functions when possible
- Maintain consistent branding across customizations
The code snippets can be combined or modified based on specific needs. Adjust colors, content, and layout according to your requirements.