¿Cómo mantener el diseño del tema igual cuando está presente la barra gris del administrador?

2

Cuando estoy conectado, hay una barra de administración gris en la parte superior. Mi diseño del tema se distorsionó por la barra. ¿Cómo resolver el problema de diseño? ¿Hay alguna función que pueda detectar si el usuario ha iniciado sesión o no, o usar CSS puede resolver el problema?

La demostración del tema está en: enlace y debajo está la captura de pantalla cuando la barra gris está allí.

p.s. Yo uso WordPress 3.2.1 & plugin Theme Test Drive

    
pregunta Raptor 01.09.2011 - 06:27

4 respuestas

2

La barra superior de tu tema también está posicionada absolutamente, por lo que no sabe bajar. Puedes usar is_admin_bar_showing() para ver si se está mostrando, y luego probablemente inyecte algunos estilos usando wp_head para moverlo hacia abajo, ya que es muy poco CSS.

Dicho esto, obtendrías algo en functions.php de tu tema como:

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
  }
}
    
respondido por el helenhousandi 01.09.2011 - 07:01
2

La barra de administración solo aparece si estás conectado. Si no te gusta en la parte superior, siempre puedes moverla a la parte inferior. Agrega esto al archivo functions.php de tu tema:

<?php
    function fb_move_admin_bar() {
    echo '
<style type="text/css">
    body {
    padding-bottom: 28px;
    }
    body.admin-bar #wphead {
       padding-top: 0;
    }
    body.admin-bar #footer {
       padding-bottom: 28px;
    }
    #wpadminbar {
        top: auto !important;
        bottom: 0;
    }
    #wpadminbar .quicklinks .menupop ul {
        bottom: 28px;
    }
</style>';
}
add_action( 'admin_head', 'fb_move_admin_bar' );
add_action( 'wp_head', 'fb_move_admin_bar' );
?>
    
respondido por el Jeremy Jared 01.09.2011 - 06:36
2

Para ocultar la barra de administración, pegue esta función en function.php

    function hide_admin_bar_from_front_end(){
  if (is_blog_admin()) {
    return true;
  }
  return false;
}
add_filter( 'show_admin_bar', 'hide_admin_bar_from_front_end' );
    
respondido por el w3uiguru 06.10.2011 - 12:02
0

Agregue esto en functions.php:

if ( is_admin_bar_showing() && !is_admin() )
    _admin_bar_bump_cb();

Esta es la devolución de llamada predeterminada para la barra de administración de wp-includes/admin-bar.php :

function _admin_bar_bump_cb() { ?>
<style type="text/css" media="screen">
    html { margin-top: 28px !important; }
    * html body { margin-top: 28px !important; }
</style>
<?php
}
    
respondido por el Nkoyan 02.02.2013 - 18:03

Lea otras preguntas en las etiquetas