imagen destacada como imagen de fondo en páginas

27 sept 2013, 19:49:33
Vistas: 52.4K
Votos: 10

Estoy añadiendo una imagen destacada en mi página a través del panel de administración y quiero usarla como imagen de fondo en el div contenedor de la página. Quiero aplicar la imagen de fondo mediante CSS, así que estoy pensando en poner un atributo style 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 reviso la salida es así:

background: url() !important;

¿Qué está mal con esto? ¿Alguna sugerencia? ¡Gracias!

2
Comentarios

¿Ya buscaste en el sitio?

kaiser kaiser
27 sept 2013 19:53:41

Sí, hice una búsqueda pero parece no funcionar correctamente, he actualizado mi pregunta, ¡por favor revísala ahora!

agis agis
27 sept 2013 20:07:31
Todas las respuestas a la pregunta 2
5
14

Necesitas usar echo para mostrar el valor devuelto por wp_get_attachment_image_src(). Esta función devuelve un Array(), por lo que necesitas extraer la parte específica del array que necesitas. En este caso, es el primer valor/0. 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>tu texto de ejemplo</p>
</div>
27 sept 2013 20:09:15
Comentarios

Por favor explica por qué esto debería ayudar al OP. Gracias.

kaiser kaiser
27 sept 2013 20:14:02

@kaiser también estaba trabajando con fondos de esa manera, soy principiante, no sé por qué, pero sé que funcionó según lo que vi en un foro.

Raank Raank
27 sept 2013 20:22:26

@Feera Bueno, entonces es Magia. Y recuerda que la Magia siempre es la respuesta :D

kaiser kaiser
27 sept 2013 20:28:28

puede ser poco, pero lo que importa es la intención :P

Raank Raank
27 sept 2013 20:31:23

Si estás haciendo esto en una función, no olvides preceder este código con global $post; .

Boycott A.I. Boycott A.I.
15 ene 2016 22:15:42
0

Intenta utilizar la función the_post_thumbnail_url:

Obtiene la URL directa de la imagen destacada de la entrada 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;">
15 jun 2017 11:44:51