web-dev-qa-db-fra.com

Pourquoi wp_head () crée-t-il une marge supérieure en haut de l'en-tête de mon thème?

Je crée un thème personnalisé et les éléments se comportent comme ils le devraient, mais lorsque je place la balise <?php wp_head() ?>, une marge supérieure apparaît en haut de l'en-tête de mon thème.

Lorsque je supprime la <?php wp_head(); ?>, la marge disparaît. J'y suis depuis un moment que toute aide serait formidable.

8
tanktery

Difficile de voir sans le regarder, mais une supposition éclairée:

Plus que probablement, il s’agit du code CSS de la barre d’administration, qui n’apparaît que lorsque vous êtes connecté. La fonction <?php wp_head() ?> inclura le css correspondant, et <?php wp_footer(); ?> inclut le code html de la barre admin.

Si vous regardez, il devrait en fait s'agir d'une marge supérieure ajoutée à la balise html.

9
Ryan Gibbons

Si vous essayez de cacher la barre d'administration en vous connectant au filtre show_admin_bar, mais que faites ceci trop tard (init avec la priorité par défaut est trop tard, par exemple), vous obtiendrez un supplément de 28 pixels. Top marge mais pas de barre d'administration là-bas.

2
Jan Fabry

l'ajout de "margin-top: 0px! important" au début de votre fichier CSS fonctionnera, mais SEULEMENT si vous réorganisez vos informations d'en-tête pour appeler le fichier css APRÈS que wp_head soit appelé.

l'attribut CSS le plus bas sera appliqué 100% du temps.

1
Daniel

Le bloc de style de marge est sorti par la fonction _admin_bar_bump_cb qui s'exécute sur l'action wp_head. Vous pouvez supprimer l'action en appelant:

remove_action('wp_head', '_admin_bar_bump_cb');

Je l'ai placé dans la fonction de script de mise en file d'attente, ce qui a permis de supprimer la sortie de marge supérieure, mais je suis sûr que vous pouvez le placer n'importe où dans le fichier functions.php et le faire fonctionner correctement.

De cette façon, vous n'avez pas besoin d'une substitution stupide dans votre css =)

1
Anthony Brown

Cela m'est également arrivé. Cet espace est réservé à la barre d'administration située en haut de votre thème, qui s'affiche pour un utilisateur connecté.

Si vous vous êtes connecté à votre tableau de bord WordPress dans le même navigateur que celui dans lequel vous utilisez le thème personnalisé, il y a un problème.

Déconnectez-vous simplement du compte d'administrateur WordPress et ouvrez à nouveau votre thème personnalisé.

1
viv

J'ai aussi rencontré le même problème et je l'ai résolu en ajoutant ceci:

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

Mettez en haut du fichier CSS de votre thème.

0
rhoi

Vous devriez voir quelle classe ajoute la marge avec Firebug ou un outil similaire.

0
MZAweb