Cómo obtener la URL de imagen destacada de publicación de WordPress

144

Estoy usando esta función para obtener las imágenes destacadas:

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

Ahora quiero obtener la imagen destacada completa haciendo clic en la etiqueta de anclaje para la que necesito una URL de imagen destacada en

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

¿Cómo puedo arreglar esto?

ManpreetSandhu
fuente

Respuestas:

302

Verifique el código a continuación y avíseme si funciona para usted.

<?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
fuente
1
muchas gracias es trabajo Quiero agregar también condición. como si tuviera una miniatura de publicación, luego muestre esto y, si no, otro div o css o imagen predeterminada, alguna idea de cómo
pagol
2
Lo hice pero es la forma correcta o no, no lo sé. <?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
¡Muchas gracias! Este código está funcionando perfectamente.
Calum Childs
96

Si desea SOLO la fuente, y no una matriz con otra información:

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

 

LOLapalooza
fuente
Para la versión 4.4.0 y superior wp_get_attachment_image_url().
Charlie Vieillard
1
Esto era exactamente lo que necesitaba. carga completa img src. ¡gracias!
Killscreen
1
wp_get_attachment_image_urlsolo es aplicable si conoce la ID de archivo adjunto (no la ID de publicación).
Ciertamente, el
Estaba buscando eso. Gracias hombre :)
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
fuente
44
@ gavard.e realmente funcionaría en "lugar de ': P Pero las comillas no son necesarias en absoluto.
Ivanka Todorova
16

¡Manera fácil!

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

Esto funcionó perfectamente para mí:

<?php echo get_the_post_thumbnail_url($post_id, 'thumbnail'); ?>
máxima
fuente
3
Nota: Solo disponible desde Wordpress 4.4.0
MarcGuay
<? php echo get_the_post_thumbnail_url ($ post_id); ?> Si quieres la imagen a tamaño completo.
yeahlad
7

Creo que esta es la solución más fácil y actualizada:

<?php the_post_thumbnail('single-post-thumbnail'); ?>
Fredrick Boaz
fuente
El que está en la parte superior no funcionó (sin errores de PHP, que no quería, ya que estoy creando un tema de WordPress para las masas), pero este sí. +1
Calum Childs
6

Esta es la respuesta más simple:

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

Puedes probar esto:

<?php 
    $feat_image = wp_get_attachment_url(get_post_thumbnail_id($post->ID)); 
    echo $feat_image; 
?>
nim
fuente
esto solo imprime: '$ feat_image';
Stefan Yohansson
mi error es, echo $ feat_image;
nim
4

Prueba este

<?php 
    echo get_the_post_thumbnail($post_id, 'thumbnail', array('class' => 'alignleft')); 
?>
yahya akhtar
fuente
1
Úselo get_the_post_thumbnail_urlsi solo desea la URL de la imagen.
Gavin
3

Puedes probar esto.

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

También puede obtenerlo de post_meta de esta manera:

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

También puede obtener la URL para archivos adjuntos de imágenes de la siguiente manera. Funciona bien.

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

Intentarás esto

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

Había buscado mucho y no encontré nada, hasta que obtuve esto:

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

Que simplemente le dan la URL de la imagen completa sin la <img>etiqueta completa .

Espero que pueda ayudarte.

Jodyshop
fuente
0

Si la publicación es una imagen y ya sabemos cuál es la imagen, es posible obtener la URL en miniatura sin demasiados problemas:

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

Utilizar:

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

    $feature_image_url = $image_src[0]; 
?>

Puede cambiar el thumbnail_sizevalor según su tamaño requerido.

Mohammad Farhan Atif Wattoo
fuente
0

También puede obtener la URL para archivos adjuntos de imágenes de la siguiente manera:

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

Simplemente dentro del bucle escriba <?php the_post_thumbnail_url(); ?>como se muestra a continuación: -

$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; ?>
Alegría
fuente
-1
<img src="<?php echo get_post_meta($post->ID, "mabp_thumbnail_url", true); ?>" alt="<?php the_title(); ?>" width ="100%" height ="" />
Juegos Mizo
fuente
¿Puedes elaborar?
Peter Mortensen