De ce wp_head() creează un margin în partea de sus a header-ului temei mele?

19 mai 2011, 07:03:56
Vizualizări: 14.2K
Voturi: 12

Eu creez o temă personalizată, iar elementele se comportă cum trebuie, dar când adaug tag-ul <?php wp_head() ?> apare un margin în partea de sus a header-ului temei mele.

Când elimin <?php wp_head(); ?> margin-ul dispare. Mă lupt cu această problemă de ceva timp, orice ajutor ar fi binevenit.

1
Comentarii

ceva care se atașează la wp_head afișează spațiu înainte de orice HTML?

Milo Milo
19 mai 2011 07:15:22
Toate răspunsurile la întrebare 8
3
12

Greu de spus fără să te uiți la el, dar o presupunere educată:

Cel mai probabil este CSS-ul pentru bara de administrare, care apare doar atunci când ești autentificat. <?php wp_head() ?> va include CSS-ul pentru aceasta, iar <?php wp_footer(); ?> include HTML-ul pentru bara de administrare.

Dacă te uiți, ar trebui să fie de fapt un margin-top adăugat la tag-ul html.

19 mai 2011 08:08:32
Comentarii

de acord, am întâlnit această problemă de câteva ori

MartinJJ MartinJJ
19 mai 2011 10:48:18

Da, am ajutat mai multe persoane și am văzut asta. Cred că cea mai mare problemă este că oamenii nu includ wp_footer() în șablon

Ryan Gibbons Ryan Gibbons
19 mai 2011 18:21:52

Pentru OP - cred că ar trebui să accepti acest răspuns.

Greeso Greeso
6 iul. 2015 07:28:44
0

Dacă încerci să ascunzi Bara de Administrare prin conectarea la filtrul show_admin_bar, dar faci asta prea târziu (de exemplu, init cu prioritatea implicită este prea târziu), vei obține o margine superioară suplimentară de 28px, dar fără bara de administrare afișată.

19 mai 2011 18:02:17
0

Blocul de stil pentru margine este generat de funcția _admin_bar_bump_cb care rulează pe acțiunea wp_head. Puteți elimina această acțiune apelând:

remove_action('wp_head', '_admin_bar_bump_cb');

Am plasat acest cod în funcția mea de încărcare a scripturilor și a eliminat cu succes marginea superioară generată, dar sunt sigur că puteți să o plasați oriunde în functions.php și va funcționa corect.

În acest fel nu aveți nevoie de o suprascriere inutilă în CSS =)

29 apr. 2013 01:38:06
1

Am întâmpinat aceeași problemă și am rezolvat-o adăugând următoarele:

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

Puneți acest cod la începutul fișierului CSS al temei dumneavoastră.

29 iul. 2011 04:46:25
Comentarii

acest răspuns nu funcționează deoarece 28px este adăugat inline care are prioritate față de orice altceva dintr-un fișier css

User User
10 ian. 2012 20:46:43
0

Acest lucru s-a întâmplat și cu mine, acest spațiu este pentru bara de administrare din partea de sus a temei tale care este afișată pentru un utilizator autentificat.

Dacă ești autentificat în panoul de control WordPress în același browser în care utilizezi tema personalizată, atunci aceasta este problema.

Pur și simplu deconectează-te din contul de administrator WordPress și deschide din nou tema ta personalizată.

24 dec. 2011 11:35:49
1

adăugarea "margin-top: 0px !important" în partea de sus a fișierului CSS va funcționa, dar NUMAI dacă rearanjați informațiile din antet pentru a apela fișierul CSS DUPĂ ce wp_head este apelat.

cel mai de jos atribut CSS va fi aplicat, 100% din timp.

24 iun. 2012 19:16:52
Comentarii

"Cel mai de jos atribut CSS va fi aplicat, 100% din timp." - Nu neapărat, depinde de specificitatea altor selectori prezenți.. de ex. #content div.somediv va avea întotdeauna prioritate asupra div.somediv indiferent de locul în care acesta din urmă este definit.

t31os t31os
29 apr. 2013 12:02:12
0

Ar trebui să vezi ce clasă adaugă marginea cu ajutorul Firebug sau a unui instrument similar.

19 mai 2011 08:34:52
0
-1

Încearcă asta,

html { margin-top:0px; padding-top:0px; }
3 ian. 2017 18:36:48