Función para obtener la URL de la imagen original subida - tamaño completo
Actualmente estoy usando el siguiente código para obtener la URL de la imagen destacada de una entrada de WordPress:
URL="<?php if (function_exists('wp_get_attachment_thumb_url')) {echo wp_get_attachment_thumb_url(get_post_thumbnail_id($post->ID), 'big-size'); }?>"
Pero el código solo devuelve la miniatura más pequeña (150x150px). Esto es lo que obtengo:
http://sitename.com/wp-content/uploads/imagename-150x150.png
Mi pregunta es, ¿cómo puedo hacer que devuelva la URL de la imagen original (imagen a tamaño completo) que sería:
http://sitename.com/wp-content/uploads/imagename.png
Muchas gracias por tu tiempo y ayuda.
Existen cuatro tamaños válidos integrados en el núcleo de WordPress.
the_post_thumbnail('thumbnail'); // Miniatura (por defecto 150px x 150px máx)
the_post_thumbnail('medium'); // Resolución mediana (por defecto 300px x 300px máx)
the_post_thumbnail('medium_large'); // Resolución mediana grande (por defecto 768px x 0(altura automática según proporción) máx) desde WP versión 4.4
the_post_thumbnail('large'); // Resolución grande (por defecto 640px x 640px máx)
the_post_thumbnail('full'); // Resolución original de la imagen (sin modificar)
El último es el que estás buscando.
Lo siguiente devuelve la URL.
<?php
$src = wp_get_attachment_image_src( $attachment_id, $size, $icon );
echo $src[0];
El código completo podría verse así:
<?php
$src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full', false );
echo $src[0]; // la URL de la imagen destacada
Más información puede encontrarse aquí.

Gracias por tu respuesta. En realidad estoy buscando una función que devuelva la "URL" de la imagen y no la imagen en sí. Así que dudo que the_post_thumbnail vaya a funcionar para eso. ¿O quizás estoy equivocado?

¡Eso funcionó perfectamente, muchas gracias por tu tiempo y respuesta!

Sigue siendo relevante en 2022. Quería una miniatura pero the_post_thumbnail_url()
estaba devolviendo imágenes completas porque el valor del parámetro por defecto es 'post-thumbnail' en lugar de 'thumbnail' pero mi nuevo tema personalizado no lo tenía. Gracias a esta lista, encontré la solución para mostrar miniaturas: <img class="post-thumb" src="<?php the_post_thumbnail_url('thumbnail') ?>">

Para aquellos que llegan aquí después de octubre de 2019
WordPress ha introducido un "Umbral de Imagen Grande" desde la versión 5.3 (Enlace)
En resumen, todas las imágenes por encima de 2560px serán reducidas al subirlas. Al llamar al formato de imagen "full" ya no siempre devolverá la imagen original sin modificar, sino que podría devolver esa versión de 2560px y tendrá '-scaled' en la URL y la ruta.
Aún puedes obtener la URL y la ruta de las imágenes subidas originalmente con las siguientes funciones:
wp_get_original_image_path()
o wp_get_original_image_url()
.
Aunque la documentación sugiere que se añadió un nuevo tamaño "original_image"
, wp_get_attachment_image, wp_get_attachment_image_src o funciones similares siguen devolviendo la versión reducida. Así que, hasta donde sé, no hay forma de obtener las dimensiones originales del archivo, etc.
