Por que o wp_head () está criando uma margem superior na parte superior do cabeçalho do meu tema?


8

Estou criando um tema personalizado e os elementos se comportam como deveriam, mas quando coloco a <?php wp_head() ?>tag, obtenho uma margem superior, na parte superior do cabeçalho do meu tema.

Quando retiro <?php wp_head(); ?>a margem desaparece. Estou nisso há algum tempo, qualquer ajuda seria ótima.


11
algo que se prende ao wp_head está gerando espaço antes da saída de qualquer html?
Milo

Respostas:


10

Difícil de ser visto sem olhar para ele, mas um palpite:

Provavelmente, é o CSS da barra de administrador, que só aparece quando você está logado. O <?php wp_head() ?>incluirá o css para ele e <?php wp_footer(); ?>o html da barra de administrador.

Se você olhar, na verdade deve ser um margem superior adicionada à tag html.


concordou, visto este problema algumas vezes
MartinJJ

11
Sim, eu ajudei várias pessoas e vi isso. Eu acho que o maior problema é que as pessoas não incluindo o wp_footer () in template
Ryan Gibbons

Para o OP - acho que você deve aceitar esta resposta.
Greeso

2

Se você tentar ocultar a barra de administrador conectando-o ao show_admin_barfiltro, mas fazer isso muito tarde ( initcom a prioridade padrão é muito tarde, por exemplo), você terá uma margem superior adicional de 28px, mas nenhuma barra de administrador.


1

Isso aconteceu comigo também, esse espaço é para a barra de administração na parte superior do seu tema, que é exibida para um usuário conectado.

Se você efetuou login no painel do WordPress no mesmo navegador em que está usando o tema personalizado, existe o problema.

Basta sair da conta de administrador do WordPress e abrir seu tema personalizado novamente.


1

Eu também encontrei o mesmo problema e o resolvi adicionando o seguinte:

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

Coloque no topo do arquivo CSS do seu tema.


2
este trabalho resposta does not porque o 28px é adicionado em linha que tem precedência sobre qualquer coisa em um arquivo css

1

adicionar "margin-top: 0px! important" ao topo do seu arquivo CSS realmente funcionará, mas SOMENTE se você reorganizar as informações do cabeçalho para chamar o arquivo css APÓS o wp_head ser chamado.

o atributo CSS mais baixo será aplicado, 100% do tempo.


"O atributo CSS mais baixo será aplicado, 100% do tempo." - Não necessariamente, depende da especificidade de outros seletores presentes. #content div.somedivsempre terá prioridade sobre, div.somedivindependentemente de onde o último esteja definido.
T31os

1

O bloco de estilo de margem é gerado pela _admin_bar_bump_cbfunção que é executada na wp_headação. Você pode remover a ação chamando:

remove_action('wp_head', '_admin_bar_bump_cb');

Coloquei-o no gancho de função dos scripts de enfileiramento e ele removeu com êxito a saída da margem superior, mas tenho certeza de que você pode colocá-lo em qualquer lugar do functions.php e fazê-lo funcionar corretamente.

Dessa forma, você não precisa de uma substituição boba no seu css =)


0

Você deve ver qual classe está adicionando a margem com o firebug ou uma ferramenta similar.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.