imagen destacada como imagen de fondo en páginas

8

Estoy agregando una imagen destacada en mi página a través del tablero y quiero usarla como imagen de fondo en el contenedor de la página. Quiero aplicar la imagen de fondo a través de CSS, así que estoy pensando en poner un atributo de estilo dentro de mi marcado. Estoy pensando en hacer algo como esto:

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

Pero desafortunadamente esto no está funcionando.

Cuando verifico el resultado es así:

background: url() !important;

¿Qué hay de malo en esto? ¿Alguna sugerencia? ¡Gracias!

agis
fuente
¿ Ya has buscado en el sitio ?
kaiser
Sí, hice una investigación, pero parece que no funciona correctamente, he actualizado mi pregunta, ¡compruébalo ahora, por favor!
agis

Respuestas:

12

Necesita echoel valor de retorno de wp_get_attachment_image_src(). También devuelve un Array(), por lo que debe tomar la parte necesaria de esa matriz. En este caso es el primer / 0valor. Ejemplo:

<?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
fuente
Explica por qué esto debería ayudar al OP. Gracias.
kaiser
@kaiser también estaba trabajando con fondos de esa manera, soy novato, no sé por qué, pero sé que funcionó para lo que vi en un foro.
Raank
@Feera Bueno, entonces es magia . Y sepa que Magic siempre es la respuesta: D
kaiser
puede ser poco, pero lo que importa es la intención: P
Raank
2
Si está haciendo esto en una función, no olvide preceder este código con global $post;.
prohibición de geoingeniería
2

Intenta usar la the_post_thumbnail_urlfunción :

Obtiene la URL de la imagen directa para la imagen destacada de la publicación actual.

<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
fuente