Como obter o URL da imagem em destaque da postagem do WordPress

144

Estou usando esta função para obter as imagens em destaque:

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

Agora, quero obter a imagem em destaque completa clicando na tag de âncora para a qual preciso de um URL de imagem em destaque em

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

Como posso consertar isso?

ManpreetSandhu
fonte

Respostas:

302

Verifique o código abaixo e deixe-me saber se ele funciona para você.

<?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
fonte
1
muito obrigado, é trabalho. Eu quero adicionar também condição. como se tem thumbail pós seguida, mostrar isso e se não, então uma outra div ou css ou imagem padrão alguma idéia de como
pagol
2
Eu fiz isso, mas é o caminho correto ou não, eu não sei. <?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 02/08/15
Muito obrigado! Este código está funcionando perfeitamente.
Calum Childs
96

Se você deseja APENAS a fonte, e não uma matriz com outras informações:

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

 

LOLapalooza
fonte
Para a versão 4.4.0 e posterior wp_get_attachment_image_url().
Charlie Vieillard
1
isso era exatamente o que eu precisava. carrega img src completo. obrigado!
Killscreen #
1
wp_get_attachment_image_urlé aplicável apenas se você souber o ID do anexo (não o ID da postagem).
certainlyakey
Eu estava procurando por isso. Obrigado cara :)
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
fonte
4
@ gavard.e realmente funcionaria em "vez de ': P Mas as aspas não são necessárias.
Ivanka Todorova
16

Jeito fácil!

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

Isso funcionou perfeitamente para mim:

<?php echo get_the_post_thumbnail_url($post_id, 'thumbnail'); ?>
máxima
fonte
3
Nota: Disponível apenas desde o Wordpress 4.4.0
MarcGuay 11/11
<? php echo get_the_post_thumbnail_url ($ post_id); ?> Se você quiser a imagem em tamanho real.
precisa saber é
7

Eu acho que esta é a solução mais fácil e atualizada:

<?php the_post_thumbnail('single-post-thumbnail'); ?>
Fredrick Boaz
fonte
O que está no topo não funcionou (sem erros de PHP, o que eu não queria ao criar um tema WordPress para as massas), mas este funcionou. +1
Calum Childs
6

Esta é a resposta mais simples:

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

Você pode tentar isso:

<?php 
    $feat_image = wp_get_attachment_url(get_post_thumbnail_id($post->ID)); 
    echo $feat_image; 
?>
nim
fonte
somente esta impressão: '$ feat_image';
Stefan Yohansson
meu erro é ecoar $ feat_image;
N
4

Tente este

<?php 
    echo get_the_post_thumbnail($post_id, 'thumbnail', array('class' => 'alignleft')); 
?>
yahya akhtar
fonte
1
Use get_the_post_thumbnail_urlse você quiser apenas o URL da imagem.
Gavin
3

Você pode tentar isso.

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

Você também pode obtê-lo em post_meta assim:

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

Você também pode obter o URL para anexos de imagem da seguinte maneira. Funciona bem.

if (has_post_thumbnail()) {
    $image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'medium'); 
}
farhan
fonte
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
fonte
1

Você tentará isso

<?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
fonte
1

Pesquisei bastante e não encontrei nada, até conseguir:

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

Simplesmente fornecendo o URL completo da imagem sem a <img>tag inteira .

Espero que isso te ajude.

Jodyshop
fonte
0

Se a postagem for uma imagem e já sabemos qual é a imagem, é possível obter o URL da miniatura sem muito incômodo:

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

Usar:

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

    $feature_image_url = $image_src[0]; 
?>

Você pode alterar o thumbnail_sizevalor conforme o tamanho necessário.

Mohammad Farhan Atif Wattoo
fonte
0

Você também pode obter o URL para anexos de imagem da seguinte maneira:

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

Simplesmente dentro do loop escreva <?php the_post_thumbnail_url(); ?>como mostrado abaixo: -

$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; ?>
Alegria
fonte
-1
<img src="<?php echo get_post_meta($post->ID, "mabp_thumbnail_url", true); ?>" alt="<?php the_title(); ?>" width ="100%" height ="" />
Mizo Games
fonte
Você pode elaborar?
Peter Mortensen