Cómo obtener la URL de tamaño completo de una imagen adjunta

29 jul 2017, 01:20:32
Vistas: 17.5K
Votos: 1

No encuentro una forma de obtener la URL de la imagen en su tamaño completo para un adjunto.

Sí, puedo usar get_the_post_thumbnail_url($post->ID, 'full'), pero eso no sirve si la imagen no es la imagen destacada.

wp_get_attachment_metadata en mi adjunto no muestra un tamaño full, por lo que wp_get_attachment_image_src($imageID, 'full') no devuelve nada.

¿Cómo puedo obtener la versión completa de una imagen dado su ID de adjunto?

2
Comentarios

No existe full en sizes, el original está bajo la clave file en los datos devueltos por wp_get_attachment_metadata. De cualquier manera, wp_get_attachment_image_src($imageID, 'full') es correcto y devolverá un array que contiene la URL.

Milo Milo
29 jul 2017 01:35:30

Pensé que había probado wp_get_attachment_image_url($imageID, 'full') antes de publicar. Tienes razón, para mi sorpresa. No estoy seguro por qué pensé que estaba fallando.

Jeff Wilkerson Jeff Wilkerson
29 jul 2017 03:22:50
Todas las respuestas a la pregunta 2
2

Resolví esto usando wp_get_attachment_url($imageID);

Pero también puedes usar wp_get_attachment_image_url($imageID, 'full')

29 jul 2017 03:27:18
Comentarios

Jeff eso es exactamente lo que te respondí en la parte 2 de mi respuesta...

rudtek rudtek
30 jul 2017 01:48:41

No estaba preguntando sobre miniaturas de publicaciones. Preguntaba específicamente sobre archivos adjuntos no vinculados directamente a una publicación. Siéntete libre de ajustar tu respuesta en consecuencia... y me di cuenta de que cometí un error al probar wp_get_attachment_image_url() solo después de que @milo lo señaló.

Jeff Wilkerson Jeff Wilkerson
30 jul 2017 19:34:09
1

Creo que estás sobreanalizando el sistema. Desafortunadamente, la nomenclatura no está ayudando. Aquí, "Thumbnail" se refiere a la imagen real cuando usas get_the_post_thumbnail_url().

Por ejemplo, digamos que hoy subiste una imagen llamada myimage.jpg.

Esta se guardaría, si estás almacenando imágenes por fecha, en este directorio: /wp-content/uploads/2017/07/myimage.jpg.

Ahora, cuando llamas:

$featured_img_url = get_the_post_thumbnail_url('full');  //(o deja el parámetro vacío)

echo $featured_img_url;

obtendrías:

http://www.example.com/wp-content/uploads/2017/07/myimage.jpg

Por otro lado, si usas este código:

$featured_img_url = get_the_post_thumbnail_url('thumbnail');  //(o elige un tamaño diferente...medium...large...)

echo $featured_img_url;

devolvería:

http://www.example.com/wp-content/uploads/2017/07/myimage30x30.jpg

la imagen generada automáticamente según tus ajustes de thumbnail.

Para evitar la confusión con los nombres, también podrías probar...

wp_get_attachment_image_url()

pero esto requiere el ID real del adjunto, no el ID del post, independientemente de si estás en el loop.

$imgid = 6; //necesitas obtenerlo dinámicamente
$imgurldesktop = wp_get_attachment_image_url( $imgid, '' ); //usa el tamaño de imagen predeterminado
$imgurlmobile = wp_get_attachment_image_url( $imgid, 'home-slide-img-mobile' ); //usa un tamaño personalizado
29 jul 2017 01:33:42
Comentarios

Estoy hablando de imágenes subidas a través de Advanced Custom Fields, que no están directamente vinculadas a una publicación. Por eso estoy trabajando con wp_get_attachment_image_url(), porque conozco el ID del adjunto.

Jeff Wilkerson Jeff Wilkerson
29 jul 2017 03:25:03