¿Por qué wp_head () está creando un margen superior en la parte superior del encabezado de mi tema?


8

Estoy creando un tema personalizado y los elementos se comportan como deberían, pero cuando coloco la <?php wp_head() ?>etiqueta obtengo un margen superior, en la parte superior del encabezado de mi tema.

Cuando quito <?php wp_head(); ?>el margen desaparece. He estado en esto por un tiempo, cualquier ayuda sería genial.


1
¿algo que se engancha en wp_head está generando espacio antes de que salga cualquier html?
Milo

Respuestas:


10

Difícil de ver sin mirarlo, pero una suposición educada:

Es más que probable que sea el CSS para la barra de administración, que solo aparece cuando está conectado. <?php wp_head() ?>Incluirá el CSS para él e <?php wp_footer(); ?>incluye el html para la barra de administración.

Si observa, en realidad debería ser un margen superior agregado a la etiqueta html.


acordado, visto este problema un par de veces
MartinJJ

1
Sí, he ayudado a varias personas y he visto esto. Creo que el mayor problema es la gente que no incluye el wp_footer () en la plantilla
Ryan Gibbons

Para el OP: creo que deberías aceptar esta respuesta.
Greeso

2

Si intenta ocultar la barra de administración enganchándose en el show_admin_barfiltro, pero lo hace demasiado tarde ( initcon la prioridad predeterminada es demasiado tarde, por ejemplo), obtendrá un margen superior de 28 px adicional, pero no habrá barra de administración allí.


1

Esto también sucedió conmigo, este espacio es para la barra de administración en la parte superior de su tema que se muestra a un usuario conectado.

Si ha iniciado sesión en su panel de WordPress en el mismo navegador en el que está utilizando el tema personalizado, entonces está el problema.

Simplemente cierre sesión en la cuenta de administrador de WordPress y abra su tema personalizado nuevamente.


1

También encontré el mismo problema y lo resolví agregando esto:

html{ margin-top:0px !important;}

Poner en la parte superior del archivo CSS de su tema.


2
esta respuesta no funciona porque el 28px se agrega en línea, lo que tiene prioridad sobre cualquier cosa en un archivo css

1

agregar "margin-top: 0px! important" a la parte superior de su archivo CSS realmente funcionará, pero SOLO si reorganiza la información de su encabezado para llamar al archivo css DESPUÉS de que se llame a wp_head.

se aplicará el atributo CSS más bajo, el 100% del tiempo.


"El atributo CSS más bajo se aplicará el 100% del tiempo". - No necesariamente, depende de la especificidad de otros selectores que estén presentes. Ej. #content div.somedivsiempre tendrá prioridad sobre div.somedivindependientemente de dónde se defina este último.
t31os

1

El bloque de estilo de margen es generado por la _admin_bar_bump_cbfunción que se ejecuta en la wp_headacción. Puede eliminar la acción llamando a:

remove_action('wp_head', '_admin_bar_bump_cb');

Lo coloqué en el gancho de la función de secuencias de comandos en cola y eliminó con éxito la salida del margen superior, pero estoy seguro de que podría colocarlo en cualquier lugar en functions.php y hacer que funcione correctamente.

De esa manera no necesita una anulación tonta en su CSS =)


0

Debería ver qué clase está agregando el margen con firebug o una herramienta similar.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.