Perché wp_head() crea un margine superiore nell'header del mio tema?
Sto creando un tema personalizzato e gli elementi si comportano come dovrebbero, ma quando inserisco il tag <?php wp_head() ?>
ottengo un margine superiore nella parte alta dell'header del mio tema.
Quando rimuovo <?php wp_head(); ?>
il margine scompare. Sono ore che cerco di risolvere, ogni aiuto sarebbe fantastico.

Difficile da dire senza vederlo, ma un'ipotesi plausibile:
Molto probabilmente si tratta del CSS per la barra di amministrazione, che appare solo quando sei loggato. Il <?php wp_head() ?>
includerà il CSS per essa, e <?php wp_footer(); ?>
include l'HTML per la barra di amministrazione.
Se osservi, in realtà dovrebbe essere un margin-top aggiunto al tag html.

Sì, ho aiutato diverse persone e ho visto questo problema. Penso che il problema più grande sia che le persone non includono wp_footer() nel template

Se provi a nascondere la Barra di Amministrazione agganciandoti al filtro show_admin_bar
, ma lo fai troppo tardi (ad esempio, init
con la priorità predefinita è troppo tardi), otterrai un margine superiore extra di 28px senza che la barra di amministrazione sia visibile.

Il blocco di stile del margine viene generato dalla funzione _admin_bar_bump_cb
che viene eseguita sull'azione wp_head
. Puoi rimuovere l'azione chiamando:
remove_action('wp_head', '_admin_bar_bump_cb');
L'ho inserito nella mia funzione hook per l'enqueue degli script e ha rimosso con successo l'output del margine superiore, ma sono sicuro che potresti posizionarlo ovunque nel file functions.php e funzionerebbe correttamente.
In questo modo non hai bisogno di un ridicolo override nel tuo css =)

È successo anche a me, questo spazio è per la barra di amministrazione nella parte superiore del tuo tema che viene visualizzata per un utente loggato.
Se hai effettuato l'accesso alla dashboard di WordPress nello stesso browser in cui stai utilizzando il tema personalizzato, allora c'è il problema.
Semplicemente disconnettiti dall'account di amministrazione di WordPress e apri nuovamente il tuo tema personalizzato.
