Post Pic

How to programatically remove WordPress dashboard widgets

Added in version 2.7, the Dashboard Widget API allow you to ad widgets to your WordPress admin dashboard. In this recipe, I’ll show you how you can easily remove them programatically.

Simply paste the following into your functions.php file. The code will remove all dashboard widgets, so you should comment lines related to wigets you'd like to keep.

function remove_dashboard_widgets() {
	global $wp_meta_boxes;

	unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);
	unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
	unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
	unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
	unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_drafts']);
	unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
	unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
	unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);

}

if (!current_user_can('manage_options')) {
	add_action('wp_dashboard_setup', 'remove_dashboard_widgets' );
}

Thanks to NoScope for this code!

By the way, did you had a look to my latest post on CatsWhoCode about WP 3.0 custom post types?

Related Posts

No related posts.

5 Responses

Nov 12 2011 05:59

Tried this in WP 3.2.1, but it did not work.

Dec 09 2011 18:28

This also caused an error for me on WordPress 3.2.1. I used the following code to remove dashboard widgets:

//Remove unnecessary dashboard widgets
function jg_remove_dashboard_widgets() {
//Remove WordPress default dashboard widgets
remove_meta_box( ‘dashboard_quick_press’, ‘dashboard’, ‘side’ );
remove_meta_box( ‘dashboard_incoming_links’, ‘dashboard’, ‘normal’ );
remove_meta_box( ‘dashboard_recent_comments’, ‘dashboard’, ‘normal’);
remove_meta_box( ‘dashboard_plugins’, ‘dashboard’, ‘normal’);
remove_meta_box( ‘dashboard_primary’, ‘dashboard’, ‘side’);
remove_meta_box( ‘dashboard_secondary’, ‘dashboard’, ‘side’);

//Remove additional plugin widgets
remove_meta_box( ‘wp125_widget’, ‘dashboard’, ‘normal’);
remove_meta_box( ‘yoast_db_widget’, ‘dashboard’, ‘normal’);
}
add_action(‘wp_dashboard_setup’, ‘jg_remove_dashboard_widgets’ );

I hope that’s helpful for someone.

Dec 09 2011 22:33

Great tip…one thing I noticed is that this:
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);

should be changed to this:
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);

Jan 05 2012 04:34

The errors caused are due to formatting of ‘ character which wordpress changes.

Jul 17 2012 11:25

thanks for this coding. but i have some problem . i want to hide some plugin to author on add new post. please help me. thanks

Trackbacks:

Leave a Comment

* Name, Email, Comment are Required

WP Theme of the week

Sponsored Likebox