web-dev-qa-db-fra.com

image sélectionnée comme image de fond sur les pages

J'ajoute une image sélectionnée sur ma page via le tableau de bord et je souhaite l'utiliser comme image d'arrière-plan sur le conteneur div de la page. Je souhaite appliquer l'image d'arrière-plan via css. Je pense donc à insérer un attribut de style dans mon balisage. Je pense faire quelque chose comme ça:

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

Mais malheureusement, cela ne fonctionne pas.

Quand je vérifie la sortie, c'est comme ça:

background: url() !important;

Quel est le probleme avec ca ? Aucune suggestion? Merci!

8
agis

Vous devez echo la valeur de retour de wp_get_attachment_image_src(). Il retourne également un Array(), vous devez donc extraire la partie nécessaire de ce tableau. Dans ce cas, c'est la première valeur/0. Exemple:

<?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>
12
Raank

Essayez d’utiliser la fonction the_post_thumbnail_url :

Obtient l'URL de l'image directe pour l'image sélectionnée de la publication en cours.

<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;">
2
Gleb Kemarsky