So erhalten Sie die Bild-URL für WordPress-Posts


144

Ich benutze diese Funktion, um die vorgestellten Bilder zu erhalten:

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

Jetzt möchte ich das Bild mit allen Funktionen erhalten, indem ich auf das Ankertag klicke, für das ich eine URL mit ausgewählten Funktionen benötige

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

Wie kann ich das beheben?

Antworten:


302

Überprüfen Sie den Code unten und lassen Sie mich wissen, ob es für Sie funktioniert.

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

1
Vielen Dank, es ist Arbeit. Ich möchte auch Bedingung hinzufügen. wie wenn Post Thumbail haben, dann zeigen Sie dies und wenn nicht, dann ein anderes Div oder CSS oder Standardbild eine Idee wie
Pagol

2
Ich habe es geschafft, aber es ist richtig oder nicht, ich weiß es nicht. <?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

Vielen Dank! Dieser Code funktioniert einwandfrei.
Calum Childs

95

Wenn Sie NUR die Quelle und kein Array mit anderen Informationen möchten:

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

 


Ab Version 4.4.0 wp_get_attachment_image_url().
Charlie Vieillard

1
Das war genau das, was ich brauchte. lädt voll img src. Danke!
Killscreen

1
wp_get_attachment_image_urlgilt nur, wenn Sie die Anhangs-ID kennen (nicht die Post-ID).
sicherlich

Ich habe danach gesucht. Danke Mann :)
Arman H

19
// Try it inside loop.  
<?php
$feat_image = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
echo $feat_image;
?>

4
@ gavard.e würde tatsächlich mit "statt arbeiten mit ': P Aber die Anführungszeichen sind überhaupt nicht notwendig.
Ivanka Todorova


14

Das hat bei mir perfekt funktioniert:

<?php echo get_the_post_thumbnail_url($post_id, 'thumbnail'); ?>

3
Hinweis: Nur verfügbar seit Wordpress 4.4.0
MarcGuay

<? php echo get_the_post_thumbnail_url ($ post_id); ?> Wenn Sie das Bild in voller Größe möchten.
Yeahlad

7

Ich denke, dies ist die einfachste und aktualisierte Lösung:

<?php the_post_thumbnail('single-post-thumbnail'); ?>

Das oberste hat nicht funktioniert (ohne PHP-Fehler, die ich nicht wollte, da ich ein WordPress-Theme für die Massen erstelle), aber dieses hat funktioniert. +1
Calum Childs

6

Dies ist die einfachste Antwort:

<?php
    $img = get_the_post_thumbnail_url($postID, 'post-thumbnail');
?>

6

Sie können dies versuchen:

<?php 
    $feat_image = wp_get_attachment_url(get_post_thumbnail_id($post->ID)); 
    echo $feat_image; 
?>

dies nur drucken: '$ feat_image';
Stefan Yohansson

Mein Fehler ist, echo $ feat_image;
Nim

4

Probier diese

<?php 
    echo get_the_post_thumbnail($post_id, 'thumbnail', array('class' => 'alignleft')); 
?>

1
Verwenden get_the_post_thumbnail_urlSie diese Option, wenn Sie nur die Bild-URL verwenden möchten.
Gavin

3

Sie können dies versuchen.

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

3

Sie können es auch wie folgt von post_meta erhalten:

echo get_post_meta($post->ID, 'featured_image', true);

3

Sie können die URL für Bildanhänge auch wie folgt abrufen. Es funktioniert gut.

if (has_post_thumbnail()) {
    $image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'medium'); 
}

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

1

Sie werden es versuchen

<?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 ?>" 
/>

1

Ich hatte viel gesucht und nichts gefunden, bis ich Folgendes bekam:

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

Womit Sie einfach die vollständige Bild-URL ohne das gesamte <img>Tag erhalten.

Hoffe das kann dir helfen.


0

Wenn es sich bei dem Beitrag um ein Bild handelt und wir bereits wissen, um welches Bild es sich handelt, können Sie die Miniaturbild-URL ohne großen Aufwand abrufen:

echo pathinfo($image->guid, PATHINFO_DIRNAME);

0

Verwenden:

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

    $feature_image_url = $image_src[0]; 
?>

Sie können den thumbnail_sizeWert entsprechend Ihrer gewünschten Größe ändern .


0

Sie können die URL für Bildanhänge auch wie folgt abrufen:

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

0

Schreiben Sie einfach in die Schleife <?php the_post_thumbnail_url(); ?>wie folgt: -

$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; ?>

-1
<img src="<?php echo get_post_meta($post->ID, "mabp_thumbnail_url", true); ?>" alt="<?php the_title(); ?>" width ="100%" height ="" />

Können Sie das näher erläutern?
Peter Mortensen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.