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

8

J'ajoute une image sélectionnée sur ma page via le tableau de bord et je veux l'utiliser comme image d'arrière-plan sur la div conteneur de la page. Je veux appliquer l'image d'arrière-plan via css, donc je pense mettre 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 est comme ceci:

background: url() !important;

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

agis
la source
Avez-vous déjà cherché sur le site ?
kaiser
Oui, j'ai fait une recherche mais cela ne semble pas fonctionner correctement, j'ai mis à jour ma question, vérifiez maintenant s'il vous plaît!
agis

Réponses:

12

Vous devez echola valeur de retour de wp_get_attachment_image_src(). Il renvoie également un Array(), vous devez donc récupérer la partie nécessaire de ce tableau. Dans ce cas, c'est la première / 0valeur. 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>
Raank
la source
Veuillez expliquer pourquoi cela devrait aider le PO. Merci.
kaiser
@kaiser travaillait également avec des arrière-plans de cette façon, je suis novice, je ne sais pas pourquoi, mais je sais que cela a fonctionné pour ce que j'ai vu dans un forum.
Raank
@Feera Eh bien, c'est Magic . Et sachez que Magic est toujours la réponse: D
kaiser
peut être peu, mais ce qui compte est l'intention: P
Raank
2
Si vous faites cela dans une fonction, n'oubliez pas de faire précéder ce code par global $post;.
ban-geoengineering
2

Essayez d'utiliser la the_post_thumbnail_urlfonction :

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

<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
la source