Immagine in evidenza come sfondo nelle pagine
Sto aggiungendo un'immagine in evidenza alla mia pagina attraverso la dashboard e voglio utilizzarla come immagine di sfondo sul div contenitore della pagina. Voglio applicare l'immagine di sfondo attraverso CSS, quindi sto pensando di inserire un attributo style nel mio markup. Sto cercando di fare qualcosa del genere:
<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;">
Ma purtroppo questo non funziona.
Quando controllo l'output è così:
background: url() !important;
Cosa c'è di sbagliato? Qualche suggerimento? Grazie!

Devi utilizzare echo
per visualizzare il valore restituito da wp_get_attachment_image_src()
. Questa funzione restituisce un Array()
, quindi devi estrarre la parte necessaria dall'array. In questo caso è il primo valore/0
. Esempio:
<?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>il tuo testo demo</p>
</div>

@kaiser stava anche lavorando con gli sfondi in quel modo, sono un principiante, non so il perché, ma so che ha funzionato da quello che ho visto in un forum.

@Feera Beh, allora è Magia. E sappi che la Magia è sempre la risposta :D

Prova a utilizzare la funzione the_post_thumbnail_url
:
Ottiene l'URL diretto dell'immagine in evidenza del post corrente.
<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;">
