imagem em destaque como imagem de fundo nas páginas

8

Estou adicionando uma imagem em destaque na minha página através do painel e quero usá-la como imagem de plano de fundo na div de contêiner da página. Quero aplicar a imagem de plano de fundo através de css, portanto, estou pensando em colocar um atributo de estilo dentro da minha marcação. Estou pensando em fazer algo assim:

<div id="<?php echo $post_name; ?>" class="page<?php echo $post_id; ?>" style="background: url(<?php wp_get_attachment_image_src( get_post_thumbnail_id(), 'large' ); ?>) !important;">

Mas infelizmente isso não está funcionando.

Quando eu verifico a saída é assim:

background: url() !important;

O que está errado com isto ? Alguma sugestão? Obrigado!

agis
fonte
Você já pesquisou no site ?
Kaiser #
Sim, fiz uma pesquisa, mas parece não funcionar corretamente, atualizei minha pergunta, verifique agora, por favor!
agis 27/09/2013

Respostas:

12

Você precisa echodo valor de retorno de wp_get_attachment_image_src(). Ele também retorna um Array(), então você precisa pegar a parte necessária dessa matriz. Nesse caso, é o primeiro / 0valor. Exemplo:

<?php $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full' );?>
<div id="post" class"your-class" style="background-image: url('<?php echo $thumb['0'];?>')">
<p>text demo</p>
</div>
Raank
fonte
Explique por que isso deve ajudar o OP. Obrigado.
Kaiser #
O @kaiser também trabalhava com fundos dessa maneira, sou novato, não sei por que, mas sei que funcionou para o que vi em um fórum.
Raank 27/09
@ Feera Bem, então é Magic . E sei que mágica é sempre a resposta: D
kaiser
pode ser pouco, mas o que importa é a intenção: P
Raank
2
Se você estiver fazendo isso em uma função, não se esqueça de preceder esse código com global $post;.
ban-geoengineering
2

Tente usar a the_post_thumbnail_urlfunção :

Obtém o URL da imagem direta da imagem em destaque da postagem atual.

<div id="<?php echo post_name; ?>" class="page<?php 
echo $post_id; ?>" style="background: url(<?php 
echo get_the_post_thumbnail_url( $post_id, 'large' ); ?>) !important;">
Gleb Kemarsky
fonte