Customizing the WordPress Dashboard For Your Clients

Customizing the WordPress Dashboard For Your Clients

Tutorial Details
  • Program: WordPress
  • Version (if applicable): version 3.1 & up
  • Difficulty: Easy
  • Estimated Completion Time: 15 minutes
This entry is part 3 of 6 in the series WordPress Dashboard Customizations

Have you recently started using WordPress for your client’s project and want to further impress your client with better packaging? This article will focus on packaging WordPress so that, in just few minutes after completion of a project, it will feel more unique to the client and not have the generic feel.


A great product comes with great packaging. When you develop a website for your client, packing it well adds the additional feel good factor. Most clients don’t understand the efforts that you have put into creating a dynamic website, or the 1000 lines of code that you have written to create a custom plugin. All they care about is what they see.

WordPress out of the box is well designed & looks as good as any commercial product. Few extra touches would further make it more personal to the client instead of looking general. This article will focus on packaging WordPress better in just few minutes after completion of a project to make it feel more unique to the client and not have the generic feel. Without going into the detailed explanation of WordPress core functions, we will only focus on quick customization.


3 ways to perfectly end a WordPress project before handing over to your client

“All they care about is what they see.”

  1. Remove and replace generic elements like WordPress Logo, Footer signature
  2. Remove unwanted sections from WordPress Dashboard
  3. Install plugins to optimize website & make it more fast & secure

 


Step 1.1 Customize Login Page Logo

WordPress Login Page

When a client wants to access the WordPress admin, the first thing they will notice is the login page with a WordPress logo. Wouldn’t it be better if this page had the logo of your client’s company or maybe yours? There are many simpler ways to do this using plugins that allow other customization options too. But I personally prefer setting this using the powerful WordPress functions.php file. 

If you have a functions.php in your custom theme, open it and if not, create a file named funtions.php and place it inside the theme folder.

Add below lines in the functions.php file:

// CUSTOM ADMIN LOGIN HEADER LOGO

function my_custom_login_logo()
{
	echo '<style  type="text/css"> h1 a {  background-image:url(' . get_bloginfo('template_directory') . '/images/logo_admin.png)  !important; } </style>';
}
add_action('login_head',  'my_custom_login_logo');

Note

The path "images/logo_admin.png" is relative to the main theme folder and needs to be changed based on the location of your logo image. Make sure to have additional white space in the image below the logo, otherwise the warning message might touch the logo. Now as you can see with just a few lines, we are able to customize the logo of the login page without the need of a plugin. WordPress is very modular software with thousands of functions if not more. We can hook into any function and modify the default settings through the use if a functions.php file or through plugins. Using the above code we have simply used the hook login_head() and added our own function to it. Similarly you can even further and add your own stylesheet to the login page.

WordPress Login Page Logo Customization

Step 1.2 Customize Login Page Logo link & ALT text.

If you click on the logo on the login page, it will take you to www.wordpress.org. The alt text of this link is “Powered by WordPress”. Using the same functions.php file we can now modify the link and the alt text to anything we want.

// CUSTOM ADMIN LOGIN LOGO LINK

function change_wp_login_url() 
{
	echo bloginfo('url');  // OR ECHO YOUR OWN URL
}
add_filter('login_headerurl', 'change_wp_login_url');

// CUSTOM ADMIN LOGIN LOGO & ALT TEXT

function change_wp_login_title() 
{
	echo get_option('blogname'); // OR ECHO YOUR OWN ALT TEXT
}
add_filter('login_headertitle', 'change_wp_login_title');

In earlier example, we used add_action and in above example we used add_filter. What’s the difference? Well both are WordPress hooks, only difference is that we used add_action for large functions and add_filter to modify text before its sent to the database or the browser.

 


Step 1.3 Customize Dashboard Logo

WordPress Dashboard Logo Customization

 

Once we login and are in the backend of WordPress, there is another small logo of WordPress displayed on top. It’s small but if you wish to change it, then add below code to the same functions.php file we created in above step.

// CUSTOM ADMIN DASHBOARD HEADER LOGO

function custom_admin_logo()
{
	echo '<style type="text/css">#header-logo { background-image: url(' . get_bloginfo('template_directory') . '/images/logo_admin_dashboard.png) !important; }</style>';
}
add_action('admin_head', 'custom_admin_logo');

As you can see, the format is almost same as we used to change login page logo. Only thing that changes is the hook. In this case we are adding our function in the admin_head() hook.

 


Step 1.4 Customize WordPress footer

In the footer of WordPress backend, you would notice this link “Thank you for creating with WordPress. • Documentation  • Freedoms • Feedback • Credits”. WordPress deserves all the credit we can ever give for making such a wonderful piece of application. However for those of you who want to one step further and modify this we have another WordPress hook to our rescue.

// Admin footer modification

function remove_footer_admin () 
{
	echo '<span id="footer-thankyou">Developed by <a href="http://www.designerswebsite.com" target="_blank">Your Name</a></span>';
}
add_filter('admin_footer_text', 'remove_footer_admin');

You can add your own website link and name and also any other links you wish such as link to support website, or your email address.

 


Step 2 Removing the sections from dashboard which your client’s do not require

In the WordPress dashboard, you will notice many sections such as, Plugins, WordPress news, etc.

WordPress Dashboard Customization

 

Do your clients really need to see details of new plugins, WordPress News & Blog Updates? Am sure hey are better off without seeing all these things.
The sections are added using the wp_dashboard_setup() hook and same can be used to remove them. Simply copy paste the below code in your functions.php file to get rid everything except the most required sections.

// REMOVE META BOXES FROM WORDPRESS DASHBOARD FOR ALL USERS

function example_remove_dashboard_widgets()
{
	// Globalize the metaboxes array, this holds all the widgets for wp-admin
	global $wp_meta_boxes;
	
	unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
	unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
	unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
}
add_action('wp_dashboard_setup', 'example_remove_dashboard_widgets' );

This function can also be extended to add new boxes or to remove the boxes such as “Incoming Links”, “Quick Press” and others.

 


Step 3 Further optimizing & securing using plugins.

WordPress has more than 15,000 plugins. Now if you wish to experiment, you would be better off doing it on your own website and not that of your clients. Below are list of plugins organized in different categories that I have used for almost every single project I have made in last 12 months.

General Security & Backup

  1. Login LockDown - A decent plugin that improves the security of your WordPress site by limiting the number of failed login attempts from a given IP range.
  2. WP-DBManager - Useful for Database optimization and backup. It also can email a copy of database after each backups.
  3. IDrive - The best & cheapest backup plugin. This plugin is offered for free by the folks of IDrive. The plugin backs up your WordPress core files, uploads & database daily to IDrive servers.

General Purpose

  1. Delete-Revision - Very useful and allows easy deletion of multiple revisions.
  2. 404 Notifier  - Easy way to get a list of 404 errors from your WordPress admin. You probably would not need this plugin forever, but its useful to install it when launching a new project.
  3. WordPress Import - Always better to install and activate this plugin. This is a required plugin when you want to import WordPress data.
  4. Velvet Blues Update URLs - A really handy plugin useful when we move WordPress site to different server. Without using PHP MyAdmin, users can change reference of all URL’s in the database to the new URL.

Optimization & Caching

  1. WP Super Cache - Simplest Cache plugin. Has more options for advanced user, but the plugin requires no custom setup and can be used by even beginners to optimize the speed of their website
  2. WP Minify - This plugin in combination with above plugin can have a huge impact on your website. If you use tools like Google’s PageSpeed and Yahoo’s YSlow, you will see considerable impact on the performance of your website
  3. WordPress Gzip Compression - This also helps in compressing your website, but make sure your server is compatible as the plugin causes issues on some hosting accounts.

Analytics & SEO

  1. All in one SEO - This is the most used SEO plugins. If you do not wish to develop your own SEO features for your client, this plugin can be very helpful to add Meta tags to your website dynamically.
  2. Simple Google Sitemap - Basic plugin that creates XML sitemap and submits to Yahoo, Google & Bing search engines.
  3. Google Analyticator - Allows us to see Google Analytics data directly in the WordPress admin. Very useful for client projects, as Analytics does help & inspire anyone to make their websites better.
  4. PostRank - Free plugin from the company “PostRank” which was recently bought by Google. The plugin allows you to see a rating for your post based on how its shared over social sites like Twitter, Facebook, etc.

Other Advanced plugins to further customize WordPress

  1. Adminimize - Allows us to remove unwanted links & content from the dashboard. Perfect for websites developed for clients.
  2. Admin Menu Editor - Same as above but focused on Menus. I have developed websites using WordPress that does not have a blog, and this plugin has come in handy to hide the “Posts” menu.

Conclusion

At the end, if the project cost permits, try generating a report of your clients website using http://gtmetrix.com/. This website allows us to generate report using Google PageSpeed & Yahoo’s YSlow tools. Hard to get a score of 100, but if your website is properly developed and does not use lot of external scripts such as 3rd party live chat plugins, then getting a score about 80, would not be difficult.

In this article we just briefly covered the customization options. Just like any other software the more you dig in, you would love WordPress.

Do you have any other ways to further customize WordPress? Share with us.


Other parts in this series:12 Useful Customization and Branding Tweaks for the WordPress DashboardHow to Create Custom WordPress Write/Meta Boxes
Harish Chouhan is hchouhan on Themeforest
Note: Want to add some source code? Type <pre><code> before it and </code></pre> after it. Find out more
  • http://item-9.com Jason Pelker

    How do you remove third-party widgets, i.e. Yoast’s news widget that displays when you install his SEO plugin?

    • http://inphocusmedia.com inPhocus Media

      When the news widget comes up on the dashboard it says “The Latest from Yoast” on the bottom righthand corner of this news widget you will notice an “X”.

      Click on the “X” and you will see:
      “If you reload, this widget will be gone and never appear again, unless you decide to delete the database option ‘wpseo_yoastdbwidget’.”

      The news widget will be disabled unless you reactivate again in the database

    • http://www.harishchouhan.com Harish
      Author

      I am glad you liked it

  • http://keisermedia.com Lucas

    This was just what I needed! Great job! Way to be a mind-reader. :)

  • Zee

    Great article, I am not developing for clients and still found this article to be very useful

  • Myke

    *Bookmarked. Super valuable information here. Can’t believe I didn’t know of the Velvet Blues Update URLs plugin.

  • http://wpti.ps Piet

    Great write-up, thanks!

    Would it not be better to use stylesheet_directory instead of template_directory for the different images on the login page and in the Dashboard?

    • http://wpconsult.net paul

      or even better :
      get_stylesheet_directory_uri()

  • http://blog.riaumaya.com/ Henri

    Very useful..!

    This keeps me love more to wordpress..

  • http://andreiboar.tophabits.ro Zuzuleinen

    Great article,

    Another way to customize the wordpress admin for clients is by using Wp Simplify plugin http://wordpress.org/extend/plugins/wp-simplify/ .

    • http://www.chandutv.com Chandu

      Thanks alot for the plugin… Love to learn ( and its easier ) from hacking up some already exist plugin :D

  • Techeese

    title is a bit misleading

    should be:
    customizing wp backend for your clients

    • Brandon Jones

      Good point – I’ll amend it :)

  • Paul Garner

    There is a great plugin on CodeCanyon that allows you to brand the admin interface completely and choose your own colors etc http://codecanyon.net/item/wordpress-admin-colors-branding/468919

  • http://intdesign.se Andreas Olsson

    This was nice. I always tend to forgot how many good plugins there are out there. Thanks!

  • http://inphocusmedia.com inPhocus Media

    This is a great write up and what we do we all of our clients as well. A good rule to go by is “if the client is not going to use it or will be confused by it, do not make it viewable to them”

  • http://worddope.com Doug

    Excellent tips! Never even thought of touching the WordPress logo on the login page – that’s a great touch. I usually go ahead and set up Askimet for clients as well.

  • http://adamscottcreative.com Adam Scott

    I always add a news feed widget to the dashboard that puts in my latest blog posts. That way the client always stays connected to me. They can always hide it if they want.

    One of my old blog posts shows you how to do it: http://adamscottcreative.com/add-your-own-news-feed-to-wordpress-dashboard/

  • drhodes

    Does having all those plugins installed that affect the admin slow down the front end? I don’t have much experience with plugins that are geared toward customizing the admin.

  • krapan88

    полезно. особенно в плане переделки страницы входа в админку

  • http://terencedevine.com Terence

    Will these be reset when you update WP to the latest version?

    • http://wp.envato.com/ Japh

      Because they’re done in the functions.php file of your theme, or possibly as part of a plugin, and not modifying core WordPress files (which you should never do) then they will work even after an update to WordPress.

  • osmancan

    Hi, thanx for article.
    I wonder which plugin is using for s3 account on tutsplus.
    I’m using tantan-s3 but its not good for clients.

  • http://interactivacorp.com Javier

    How can i remove the WordPress update Notifications that my clients see in the top of the administration panel. By the way, thank you very much for those great tips.

    • osmancan

      add_action( ‘init’, create_function( ‘$a’, “remove_action( ‘init’, ‘wp_version_check’ );” ),2);

  • arnold

    thanks for the tuts

    btw the step 2 which is “Removing the sections from dashboard ” doesnt work? or is it just me?

    • http://www.imblog.info Muhammad Adnan

      It doesn’t work for me too..

      • http://www.imblog.info Muhammad Adnan

        uncomment global $wp_meta_boxes; in code and you will see magic then ;)

        • arnold

          yeah I know that’s a comment so I didnt include that :D

          here’s what I added…
          function example_remove_dashboard_widgets() {
          unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
          unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
          unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
          }

          add_action(‘wp_dashboard_setup’, ‘example_remove_dashboard_widgets’ );

    • http://www.rchdly.net Richard Dooley

      The code for step 2 is pretty messed up in the original post. Copying and pasting that comments some functions, and adds all sorts of whitespace where it oughtn’t be.

      Try this instead:

      // REMOVE META BOXES FROM WORDPRESS DASHBOARD FOR ALL USERS

      function example_remove_dashboard_widgets() { // Globalize the metaboxes array, this holds all the widgets for wp-admin
      global $wp_meta_boxes;
      unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
      unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
      unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
      }
      add_action(‘wp_dashboard_setup’, ‘example_remove_dashboard_widgets’ );

  • Lebo

    It doesn’t work for me. I tried to use it in a child theme, got the following error message:

    // CUSTOM ADMIN LOGIN HEADER LOGO function my_custom_login_logo() { echo ”; } add_action(‘login_head’, ‘my_custom_login_logo’);
    Warning: Cannot modify header information – headers already sent by (output started at /home2/domain/public_html/sub-domain/wp-content/themes/son-of-suffusion/functions.php:5) in /home2/domain/public_html/sub-domain/wp-login.php on line 353

    Warning: Cannot modify header information – headers already sent by (output started at /home2/domain/public_html/sub-domain/wp-content/themes/son-of-suffusion/functions.php:5) in /home2/domain/public_html/sub-domain/wp-login.php on line 365

    • arnold

      try the custom login logo in the parent theme instead.

  • http://www.wacowebdesign.be Waco Webdesign

    Very nice explanation. Thx a lot.

  • Pingback: Général « tractr.net

  • http://twitter.com/drale2k Drazen Mokic

    echo ‘ h1 a { background-image:url(‘.get_bloginfo(‘template_directory’).’/images/logo_admin.png) !important; } ‘;

    I am not sure if there is a cleaner and more elegant way, but this is really dirty.

  • http://www.nightocoder.com Rawaf

    Great post, But I want ask you , How can I remove comment section in dashboard and menu ?

    I was use the following code with wordpress 3.0

    //Remove Some Admin Menu Items
    function remove_menu_items() {
    global $menu;
    $restricted = array(__(‘Links’), __(‘Comments’),__(‘Tools’));
    end ($menu);
    while (prev($menu)){
    $value = explode(‘ ‘,$menu[key($menu)][0]);
    if(in_array($value[0] != NULL?$value[0]:”" , $restricted)){
    unset($menu[key($menu)]);}
    }
    }

    add_action(‘admin_menu’, ‘remove_menu_items’);

    //Remove Comments from Favorite Menu
    function custom_favorite_actions($actions) {
    unset($actions['edit-comments.php']);
    return $actions;
    }

    add_filter(‘favorite_actions’, ‘custom_favorite_actions’);

    but after update to last version it’s not work .. any idea or fix ?

    thank you

  • Dave

    “The path “images/logo_admin.png” is relative to the main theme folder and needs to be changed based on the location of your logo image.”

    How would we change this to the child theme?

    • Dave

      Nevermind, I answered my own question. Simply substitute “stylesheet_directory” for “template_directory”.

  • http://tontodigital.com.au Troy Dean

    With over 35,000 downloads, this is very popular too – http://wordpress.org/extend/plugins/white-label-cms/

  • Pingback: Customiser Wordpress pour les clients (couleurs, logos, menus) - Quid de l'internet : blog seo, php, css, dev, psd | Quid de l'internet : blog seo, php, css, dev, psd

  • http://www.harishchouhan.com Harish
    Author

    Hello Guys. I am noting down all suggestions so some of the scripts in this article could work better even in child themes. Any other suggestions/corrections could also be sent directly on twitter at @harishchouhan.
    http://www.twitter.com/harishchouhan

  • http://www.narendrakeshkar.com/blog Narendra

    Great article though, extremely useful for me because I was looking exactly something like this. Thanks Harish for it.

  • Satish

    Greate article. Thanks for posting…

  • http://synergywebproductions.com Synergywp

    No mention of W3 Total Cache? By far the best caching/minifying plugin that can also serve to upload to CDN and purge Varnish? w3TC should be mentioned first, then the other 3 listed as “If you don’t like awesome power, use these:”

  • Pingback: Best of Tuts+ in September

  • Pingback: Best of Tuts+ in September | linuxin.ro

  • Pingback: Best of Tuts+ in September « Fast Ninja Blog by Freelanceful – Web Design | Coding | Freelancing

  • Pingback: Tutorial - Best of Tuts+ in September | Tutorials and Guides

  • Pingback: Web Development articles, tutorials, help » Blog Archive » Best of Tuts+ in September

  • Pingback: Best of Tuts+ in September | Shadowtek | Hosting and Design Solutions

  • Pingback: Best of Tuts+ in September | Ricky Noel Diancin Jr. Webmaster | Web Designer | Wordpress Expert

  • Pingback: Best of Tuts+ in September – blog

  • Pingback: Best of Tuts+ in September | Freelancing Help

  • Pingback: IOS world of development » Best of Tuts+ in September

  • http://www.harishchouhan.com Harish
    Author

    @Synergywp I myself use W3TC for all its options & mostly MaxCDN & Cloudfare support, however it takes lot of time for setting it up and so I decided to only add the simplest once in my list. But as suggested, the line you said should be added to this article

  • Pingback: Best of Tuts+ in September | Omega Pixels

  • Pingback: Best of Tuts+ in September - Tutorial Finder

  • http://PSDtutorials.co.uk Peter Sawyer

    A great article with some great tips that I will be implementing on my own website as well as clients.

  • Pingback: Books Empire» Blog ArchiveBest of Tuts+ in September » Books Empire

  • Pingback: Best of Tuts+ in September | Wptuts+

  • Pingback: Best of Tuts+ in September | Mr Hoang

  • Pingback: Best of Tuts+ in September | Virtuousity

  • Stephen

    how can I change the default post view of the posts, from list view to excerpt view? I would like the excerpt view be selected every time I open admin panel?

  • Pingback: Best of Tuts+ in September | Major Templates

  • http://ilhamiozen.net.ms CCW

    I cannot apply the second step. Is there an error with the code? I get this error;
    Call to undefined function add_action()….. How can i fix it?
    I tried to uncommend global $wp_meta_boxes but i still get this error.

  • Pingback: Customizing WordPress backend for your clients – Part 1 | Designers Kiosk

  • http://sektorrd.com Adrian

    In version 3.3 , #header-logo will change to #icon-index

    so you should change it to :

    //Dashboard Logo
    function custom_admin_logo() {
    echo ‘#icon-index { background-image:url(http://sektorrd.com/assets/nano.png) !important; height: 34px !important;margin:0 !important; width: 34px !important; }’;
    }
    add_action(‘admin_head’, ‘custom_admin_logo’);

    See’a

    • http://sektorrd.com Adrian

      oh Sorry should be:

      //Dashboard Logo
      function custom_admin_logo() {
      echo ‘#icon-index { background:url(http://sektorrd.com/assets/nano.png) !important; height: 34px !important;margin:0 !important; width: 34px !important; }’;
      }
      add_action(‘admin_head’, ‘custom_admin_logo’);

      • http://sektorrd.com Adrian

        There’e also in WP3.3 a Super Annoying Admin Bar on the Top….

        I haven’t found the way to remove the bar , but I just use

        //Admin Menu Bar
        function custom_admin_bar() {
        echo ‘#wp-admin-bar-wp-logo,#wp-admin-bar-comments,#wp-admin-bar-new-content,#wp-admin-bar-help { display:none !important; visibility:hidden !important; }’;

        }
        add_action(‘adminmenu’, ‘custom_admin_bar’);

        • Brandon Jones

          I believe you can remove it from your User Profile ;) Just turn it off when viewing the site.

          • http://sektorrd.com Adrian

            No , but this is a new admin bar inside the dashboard, you’ll hate it!

  • http://www.minutemenministries.org Bobby B

    Found a page that helped make sure the Login Page Logo (Step 1.1) fits and is not cropped. Very helpful for me!

    http://wordpress.org/support/topic/change-login-picture#post-1515940

  • http://mitschuh.de/ Michael Schuh

    Thank You!

  • http://www.startdesign.in Miroslav

    Never use IDrive − they’re access to your gmail contact and send them spam without your confirmation.

  • http://idesignsolutions.co Derek

    Some very nice code and your plugin list is a pretty good resource. Nice job and thanks.

  • Pingback: 25 WordPress Custom Fields Tutorial | WordpressRadar.com - The Best Collection of Wordpress Tutorials on the Web

  • Pingback: My Stream » WordPress Year in Review: The Best Tutorials of 2011

  • Pingback: WordPress: The Best of 2011 and Future Predictions | Wptuts+

  • Pingback: Wordpress News - The Best WordPress Tips and Tutorials of 2011Wordpress News

  • Pingback: WordPress Year in Review: The Best Tutorials of 2011 | Graphfucker

  • http://hotels-advisor.com/ Trip Advisor

    I want to know deep of wordpress
    is there any video tutorial for wordpress
    i want to become expert of wordpress
    So that i can create different kind of script using wordpress.
    Thank you

  • Pingback: WordPress Year in Review: The Best Tutorials of 2011 | Simpler Design's

  • Pingback: Настройка Консоли WordPress для ваших клиентов | Wordpresso

  • Pingback: Bangladesh Web Lab | Bangladeshi Web Designer and Developer Blogs – Best WordPress Tips and Tutorials of 2011

  • Pingback: WordPress Arena: A Blog for WordPress Developers, Designers and Blogger

  • Pingback: Wordpress ile ilgili yararlı makaleler serisi – 1 | Wordpress

  • http://kraft.im Brandon Kraft

    I’ve included many things like this in a custom “required code” plugin in the plugins-mu folder (to prevent client from disabling). I got the idea from Bill Erickson: https://github.com/billerickson/Core-Functionality

  • http://bootstrapperu.com Will

    Hey great tutorial here.

    I know very little PHP, but I’m pretty handy with WordPress. This would really put the finishing touches on my sites.

    One question though, I added the action script in part 1 and it deleted the WP logo from the login page, but it didn’t like my image location apparently.

    Can you explain “The path “images/logo_admin.png” is relative to the main theme folder”? My images aren’t in my main theme folder.

    Thanks,

    Will

  • Pingback: MMDI 202 10: 04/03/12 Wordpress custom + Flavicon | JMParada

  • http://www.moderngrind.com AyZee

    Tried whats mentioned above but author and a few participants on changing admin bar logo , none worked it returned an error . Any suggested plugin that does the job. Ohh almost forgot . thanks for the super article.

    Regards,

  • Pingback: MMDI 202 11: 04/10/12 Wordpress + Start Custom features | JMParada

  • http://www.surbatteries.com/ yerete

    surbatteries.com I know very little PHP, but I’m pretty handy with WordPress. This would really put the finishing touches on my sites.

  • keha76

    Removing dashboard widgets with this code did not work for me using WP v3.3.2. Used the remove_meta_box function instead, works like a charm. You can read more about it here: http://codex.wordpress.org/Dashboard_Widgets_API

    function remove_dashboard_widgets()
    {
    // Remove dashboard widgets
    remove_meta_box(‘dashboard_plugins’, ‘dashboard’, ‘normal’);
    remove_meta_box(‘dashboard_quick_press’, ‘dashboard’, ‘side’);
    }
    add_action(‘wp_dashboard_setup’,'remove_dashboard_widgets’);

    Thanks for the useful article!

  • Pingback: Customizing the WP Dashboard for Clients « ART410~S12

  • Pingback: WP Customize Dashboard | philipsun.net

  • Pingback: Customizing the WordPress Dashboard For Your Clients | Xzito Smart Sites

  • Pingback: Customizing the WordPress Dashboard For Your Clients « Will Fawcett

  • http://wordpress.org/extend/plugins/developer-mode/ Jesper

    Great article, and I do agree with you on most points. However, step 3 seems to contain many points that are not particularly targeted at client websites, but more at WordPress projects in general.

    Step 2 on the other hand is in my opinion one of the most important steps: cleaning up the admin panel for your client to use. Clients, unlike developers, usually don’t have any use for all those meta boxes that serve purposes they do not need for their particular project, or purposes that do not benefit many clients whatsoever, like a list of the latest plugins available.

    Cleaning up the admin panel before your client goes on and uses it is the main reason for the development of my Developer Mode plugin (linked). It mainly enables you to hide certain parts of the admin panel for administrators, adding a new “developer” user group of people who do need to access all these advanced panels (i.e. developers). Step 2 is actually a great addition to the plugin: you, as a developer, should be able to hide meta boxes for your client, but have them available for yourself.

  • tim

    Warning folks, if you install this code below you will fatally break your theme… fortunately I tried it on a new site…. nice idea but it doesn’t work, have now got to reinstall from the server

    // REMOVE META BOXES FROM WORDPRESS DASHBOARD FOR ALL USERS
    function example_remove_dashboard_widgets() { // Globalize the metaboxes array, this holds all the widgets for wp-admin global $wp_meta_boxes;
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']); unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']); unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);} add_action(‘wp_dashboard_setup’, ‘example_remove_dashboard_widgets’ );

    • http://wp.envato.com/ Japh Thomson
      Staff

      Hey Tim,

      I’m not sure what happened to your install, but it wasn’t caused by that code. In fact, as the code was before I updated this post just now, it wouldn’t have worked at all.

      I hope you manage to get your site fixed up though.

  • http://wp.envato.com/ Japh Thomson
    Staff

    Hey guys, if you’ve had trouble with the code on this old article due to poor code snippet formatting, I’ve updated it to fix those issues.

    Hope that helps everyone.

  • Pingback: Customizing the WordPress Dashboard For Your Clients « dineshshrivastava

  • Tim

    Hi Japh,

    Ah is that what the problem was, righto thanks for putting it right, I will give it another go.

    No probs with breaking my site, I learned a long while ago never to test things on anything you want to keep :-)

    Testing now, will come back and post result.

  • Tim

    Hi again Japh

    Errr,sorry to say I got this…

    Fatal error: Cannot redeclare example_remove_dashboard_widgets() (previously declared in /home/xxxxxxx/public_html/xxxxxxxxxxx.com/wp-content/themes/magazine-basic/functions.php:16) in /home/xxxxxx/public_html/xxxxxxxx.com/wp-content/themes/magazine-basic/functions.php on line 35

    Theme is Magazine Basic
    I added the code just below this section.

    <?php
    // Set up Magazine Basic information
    $bavotasan_theme_data = function_exists( 'wp_get_theme') ? wp_get_theme( 'magazine-basic' ) : get_theme_data( get_template_directory() . '/style.css' );
    define( 'THEME_NAME', $bavotasan_theme_data['Name'] );
    define( 'THEME_AUTHOR', $bavotasan_theme_data['Author'] );
    define( 'THEME_HOMEPAGE', $bavotasan_theme_data['URI'] );
    define( 'THEME_VERSION', trim( $bavotasan_theme_data['Version'] ) );
    define( 'THEME_URL', get_template_directory_uri() );
    define( 'THEME_TEMPLATE', get_template_directory() );
    define( 'THEME_FILE', 'magazine-basic' );

    // Make theme available for translation
    // Translations can be filed in the /languages/ directory
    load_theme_textdomain( THEME_FILE, THEME_TEMPLATE . '/languages' );

    That broke it again.
    I'm not a coder so have no idea of the problem, perhaps it is just this particular theme, any thoughts?

    • http://wp.envato.com/ Japh Thomson
      Staff

      Hi Tim, I don’t think you’re posting complete code snippets, as the error you mention now has nothing to do with the code you’ve provided. Notice it talks about the “example_remove_dashboard_widgets” function appearing more than once, yet in the code you posted, it doesn’t exist.

      Perhaps you’ve forgotten to remove code you previously pasted in before pasting it in again?

  • Tim

    Hi Japh,

    Okay I have had a fiddle about and thought I would return and post an update.

    Of course your code given above works otherwise you wouldn’t have posted it, I didn’t doubt you for a minute :-)

    Here was the problem, or at least it was in my case. I entered the code neart the top of the functions.php file as you can see from my earlier comment above, and this is what caused that fatal error.

    For plan B I entered your code at the BOTTOM of the file, and it works just fine, perhaps you might edit your OP and slip that that in as it might be helpful to other using the Mag Basic theme if they don’t happen to read down this far.

    Righto now Japh, how about some super-duper idiot-proof tutorials on how to speed up WP, I have read some good stuff about but it’s only for coders, and beyond us mere mortals.

  • http://thesoulofdesign.com/ The Soul of Design

    Thank you very much. Helped me a lot.. :)

  • jingo bd

    Cool.

  • cishemant

    Great tutorial with easy tips to use for WordPress customization. Keep going in the same way.

  • yash1229

    “Am sure hey are better off without seeing all these things.”
    ^Might wanna correct this. :)