imagen destacada como imagen de fondo en páginas
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!
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>

@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.

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

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