Comment obtenir l'URL de l'image en vedette de l'article WordPress

144

J'utilise cette fonction pour obtenir les images en vedette:

<a href="#" rel="prettyPhoto">
    <?php the_post_thumbnail('thumbnail'); ?>
</a>

Maintenant, je veux obtenir l'image complète en cliquant sur la balise d'ancrage pour laquelle j'ai besoin d'une URL d'image en vedette dans

<a href="here" rel="prettyPhoto">

Comment puis-je réparer cela?

ManpreetSandhu
la source

Réponses:

302

Vérifiez le code ci-dessous et faites-moi savoir si cela fonctionne pour vous.

<?php if (has_post_thumbnail( $post->ID ) ): ?>
  <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?>
  <div id="custom-bg" style="background-image: url('<?php echo $image[0]; ?>')">

  </div>
<?php endif; ?>
swapnesh
la source
1
merci beaucoup c'est du travail. je veux ajouter aussi la condition. comme si vous avez une vignette de publication, montrez-la et sinon, un autre div ou css ou une image par défaut, une idée de comment
pagol
2
Je l'ai fait mais c'est la bonne façon ou non, je ne sais pas. <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?> <div class="section bannerarea cashstudybanner" style="background-image: url( <?php if ( has_post_thumbnail() ) { echo $image[0]; } else { ?> <?php bloginfo('template_directory'); ?>/images/common-banner.jpg <?php } ?> )">
pagol
Merci beaucoup! Ce code fonctionne parfaitement.
Calum Childs
96

Si vous voulez JUSTE la source, et non un tableau avec d'autres informations:

<?php $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID), 'thumbnail' ); ?>
<img src="<?php echo $url ?>" />

 

LOLapalooza
la source
Pour la version 4.4.0 et plus wp_get_attachment_image_url().
Charlie Vieillard le
1
c'était exactement ce dont j'avais besoin. charge img src complet. Merci!
killscreen
1
wp_get_attachment_image_urlne s'applique que si vous connaissez l'ID de la pièce jointe (pas l'ID de publication).
certainement
Je cherchais ça. Thanks man :)
Arman H
19
// Try it inside loop.  
<?php
$feat_image = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
echo $feat_image;
?>
Omprakash Patel
la source
4
@ gavard.e fonctionnerait en fait avec "au lieu de ': P Mais les guillemets ne sont pas du tout nécessaires.
Ivanka Todorova le
16

Moyen facile!

 <?php 
     wp_get_attachment_url(get_post_thumbnail_id(get_the_ID()))
 ?>
Luis Felipe Barnett V
la source
14

Cela a parfaitement fonctionné pour moi:

<?php echo get_the_post_thumbnail_url($post_id, 'thumbnail'); ?>
maxime
la source
3
Remarque: Uniquement disponible depuis Wordpress 4.4.0
MarcGuay
<? php echo get_the_post_thumbnail_url ($ post_id); ?> Si vous voulez l'image en taille réelle.
yeahlad le
7

Je pense que c'est la solution la plus simple et la mise à jour:

<?php the_post_thumbnail('single-post-thumbnail'); ?>
Fredrick Boaz
la source
Celui qui est en haut ne fonctionnait pas (sans erreurs PHP, ce que je ne voulais pas car je construis un thème WordPress pour le grand public) mais celui-ci l'a fait. +1
Calum Childs
6

Voici la réponse la plus simple:

<?php
    $img = get_the_post_thumbnail_url($postID, 'post-thumbnail');
?>
Vishwajeet Mishra
la source
6

Vous pouvez essayer ceci:

<?php 
    $feat_image = wp_get_attachment_url(get_post_thumbnail_id($post->ID)); 
    echo $feat_image; 
?>
nim
la source
ceci n'imprime que: '$ feat_image';
Stefan Yohansson
mon erreur c'est, echo $ feat_image;
nim le
4

Essaye celui-là

<?php 
    echo get_the_post_thumbnail($post_id, 'thumbnail', array('class' => 'alignleft')); 
?>
yahya akhtar
la source
1
À utiliser get_the_post_thumbnail_urlsi vous souhaitez uniquement l'URL de l'image.
Gavin
3

Vous pouvez essayer ceci.

<?php
   $image_url = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
?>
<a href="<?php echo $image_url; ?>" rel="prettyPhoto">
Jakir Hossain
la source
3

Vous pouvez également l'obtenir à partir de post_meta comme ceci:

echo get_post_meta($post->ID, 'featured_image', true);
Dhyey
la source
3

Vous pouvez également obtenir l'URL des pièces jointes d'image comme suit. Ça fonctionne bien.

if (has_post_thumbnail()) {
    $image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'medium'); 
}
Farhan
la source
1
<?php
    if (has_post_thumbnail( $post->ID ) ):
        $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' );
?>
        <img src="<?php echo $image[0]; ?>">  
<?php endif; ?>
Dhruvin Moradiya
la source
1

Vous allez essayer ceci

<?php $url = wp_get_attachment_url(get_post_thumbnail_id($post->ID), 'full'); ?> // Here you can manage your image size like medium, thumbnail, or custom size
    <img src="<?php echo $url ?>" 
/>
Viral M
la source
1

J'avais beaucoup cherché et je n'avais rien trouvé, jusqu'à ce que j'obtienne ceci:

<?php echo get_the_post_thumbnail_url( null, 'full' ); ?>

Ce qui vous donne simplement l'URL complète de l'image sans la <img>balise entière .

J'espère que cela peut vous aider.

Jodyshop
la source
0

Si l'article est une image et que nous savons déjà ce qu'est l'image, il est possible d'obtenir l'URL de la vignette sans trop de tracas:

echo pathinfo($image->guid, PATHINFO_DIRNAME);
Harry Bosh
la source
0

Utilisation:

<?php 
    $image_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'thumbnail_size');

    $feature_image_url = $image_src[0]; 
?>

Vous pouvez modifier la thumbnail_sizevaleur selon votre taille requise.

Mohammad Farhan Atif Wattoo
la source
0

Vous pouvez également obtenir l'URL des pièces jointes d'image comme suit:

<?php
    "<div><a href=".get_permalink(id).">".wp_get_attachment_url(304, array(50,50), 1)."</a></div>";
?>
user3615759
la source
0

Simplement à l'intérieur de la boucle, écrivez <?php the_post_thumbnail_url(); ?>comme indiqué ci-dessous: -

$args=array('post_type' => 'your_custom_post_type_slug','order' => 'DESC','posts_per_page'=> -1) ;
$the_qyery= new WP_Query($args);

if ($the_qyery->have_posts()) :
    while ( $the_qyery->have_posts() ) : $the_qyery->the_post();?>

<div class="col col_4_of_12">
    <div class="article_standard_view">
        <article class="item">
            <div class="item_header">
                <a href="<?php the_permalink(); ?>"><img src="<?php the_post_thumbnail_url(); ?>" alt="Post"></a>
            </div>

        </article>
    </div>
</div>            
<?php endwhile; endif; ?>
Joie
la source
-1
<img src="<?php echo get_post_meta($post->ID, "mabp_thumbnail_url", true); ?>" alt="<?php the_title(); ?>" width ="100%" height ="" />
Jeux Mizo
la source
Peux-tu élaborer?
Peter Mortensen