Jak uzyskać adres URL obrazu polecanego na WordPressie

144

Używam tej funkcji, aby uzyskać polecane obrazy:

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

Teraz chcę uzyskać pełny obraz po kliknięciu tagu kotwicy, dla którego potrzebuję adresu URL polecanego obrazu w

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

Jak mogę to naprawić?

ManpreetSandhu
źródło

Odpowiedzi:

302

Sprawdź poniższy kod i daj mi znać, czy działa w Twoim przypadku.

<?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
źródło
1
dziękuję bardzo, to jest praca. chcę dodać również warunek. na przykład jeśli masz miniaturę posta, pokaż to, a jeśli nie, to inny div lub css lub domyślny obraz, jakikolwiek pomysł
pagol
2
zrobiłem to, ale jest to poprawna droga, czy nie, nie wiem. <?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
Dziękuję Ci bardzo! Ten kod działa doskonale.
Calum Childs,
95

Jeśli chcesz TYLKO źródło, a nie tablicę z innymi informacjami:

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

 

LOLapalooza
źródło
Dla wersji 4.4.0 i nowszych wp_get_attachment_image_url().
Charlie Vieillard
1
to było dokładnie to, czego potrzebowałem. ładuje pełny plik img src. Dziękuję Ci!
killscreen
1
wp_get_attachment_image_urlma zastosowanie tylko wtedy, gdy znasz identyfikator załącznika (nie identyfikator posta).
pewnością do
Szukałem tego. Dzięki stary :)
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
źródło
4
@ gavard.e faktycznie działałoby z "zamiast ': P Ale cudzysłowy nie są wcale potrzebne.
Ivanka Todorova
16

Łatwy sposób!

 <?php 
     wp_get_attachment_url(get_post_thumbnail_id(get_the_ID()))
 ?>
Luis Felipe Barnett V
źródło
14

To doskonale zadziałało dla mnie:

<?php echo get_the_post_thumbnail_url($post_id, 'thumbnail'); ?>
maksyma
źródło
3
Uwaga: dostępne tylko od Wordpress 4.4.0
MarcGuay
<? php echo get_the_post_thumbnail_url ($ post_id); ?> Jeśli chcesz uzyskać obraz w pełnym rozmiarze.
tak,
7

Myślę, że to najłatwiejsze rozwiązanie i zaktualizowane:

<?php the_post_thumbnail('single-post-thumbnail'); ?>
Fredrick Boaz
źródło
Ten, który jest na górze, nie działał (bez błędów PHP, których nie chciałem, ponieważ buduję motyw WordPress dla mas), ale ten zadziałał. +1
Calum Childs
6

Oto najprostsza odpowiedź:

<?php
    $img = get_the_post_thumbnail_url($postID, 'post-thumbnail');
?>
Vishwajeet Mishra
źródło
6

Możesz spróbować tego:

<?php 
    $feat_image = wp_get_attachment_url(get_post_thumbnail_id($post->ID)); 
    echo $feat_image; 
?>
nim
źródło
to tylko drukuje: '$ feat_image';
Stefan Yohansson
mój błąd to echo $ feat_image;
nim
4

Spróbuj tego

<?php 
    echo get_the_post_thumbnail($post_id, 'thumbnail', array('class' => 'alignleft')); 
?>
yahya akhtar
źródło
1
Użyj, get_the_post_thumbnail_urljeśli chcesz mieć tylko adres URL obrazu.
Gavin
3

Możesz tego spróbować.

<?php
   $image_url = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
?>
<a href="<?php echo $image_url; ?>" rel="prettyPhoto">
Jakir Hossain
źródło
3

Możesz go również pobrać z post_meta w ten sposób:

echo get_post_meta($post->ID, 'featured_image', true);
Dhyey
źródło
3

Możesz również uzyskać adres URL załączników obrazu w następujący sposób. To działa dobrze.

if (has_post_thumbnail()) {
    $image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'medium'); 
}
farhan
źródło
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
źródło
1

Spróbujesz tego

<?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
źródło
1

Szukałem dużo i nic nie znalazłem, dopóki nie otrzymałem tego:

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

Które po prostu dają pełny adres URL obrazu bez całego <img>tagu.

Mam nadzieję, że to ci pomoże.

Jodyshop
źródło
0

Jeśli post jest obrazem, a my już wiemy, co to za obraz, możliwe jest uzyskanie adresu URL miniatury bez większych problemów:

echo pathinfo($image->guid, PATHINFO_DIRNAME);
Harry Bosh
źródło
0

Posługiwać się:

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

    $feature_image_url = $image_src[0]; 
?>

Możesz zmienić thumbnail_sizewartość zgodnie z wymaganym rozmiarem.

Mohammad Farhan Atif Wattoo
źródło
0

Adres URL załączników do obrazów można również uzyskać w następujący sposób:

<?php
    "<div><a href=".get_permalink(id).">".wp_get_attachment_url(304, array(50,50), 1)."</a></div>";
?>
user3615759
źródło
0

Po prostu wewnątrz pętli napisz, <?php the_post_thumbnail_url(); ?>jak pokazano poniżej: -

$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; ?>
Radość
źródło
-1
<img src="<?php echo get_post_meta($post->ID, "mabp_thumbnail_url", true); ?>" alt="<?php the_title(); ?>" width ="100%" height ="" />
Gry Mizo
źródło
Czy możesz rozwinąć?
Peter Mortensen