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!



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>

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;">
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.