When I am logged in, there is a gray admin bar on top. My theme layout got distorted by the bar. How to solve the layout problem? Is there a function that can detect user is logged in or not, or use CSS can solve the problem ?

The theme demo is at: http://raptor.hk/dev/theme and below is the screenshot when the gray bar is there.

p.s. I use WordPress 3.2.1 & plugin Theme Test Drive

when the gray bar is present...

5 Answers
5

The top bar of your theme is also positioned absolutely, so it doesn’t know to come down. You can use is_admin_bar_showing() to check to see if it’s showing, and then I’d probably just inject some styles using wp_head to move it down, since it’s very little CSS.

All told, you’d get something in your theme’s functions.php like:

add_action( 'wp_head', 'prefix_move_theme_down' );
function prefix_move_theme_down() {
  if ( is_admin_bar_showing() ) {
    ?>
    <style type="text/css">
    #header { top: 28px; }
    #content { margin-top: 68px; }
    </style>
    <?php
  }
}

Leave a Reply

Your email address will not be published. Required fields are marked *