How to do it

The image should be 30px wide and 31px tall. Save it inside your theme folder wherever you like(in the example bellow the image is inside images folder).

After you have created and saved your new dashboard logo add the code bellow to functions.php file located in your theme folder. Don’t forget to change the path if needed.

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

How it works

Well we’re adding some CSS to the <head> part of the WordPress dashboard which will overwrite the default background-image of the element with ID of header-logo which actually is the logo image we want to change.

That’s why we have !important at the end, because browser reads the CSS as it’s written, and if it finds multiple instances of the same rule it will apply the last one, but rules with !important will always be applied no matter where that rule appears in the CSS document. Hope you understand.

Our WordPress themes
We have a few WordPress themes that we would like you to take a look at if you want.
check out the portfolio