wp_get_attachment_image_src() y tamaños personalizados

6 abr 2014, 20:00:16
Vistas: 40.9K
Votos: 5

Como se menciona en esta página, wp_get_attachment_image_src() solo acepta tamaños predefinidos como thumbnail, medium, large o full.

¿Cómo puedes obtener el mismo valor de retorno con tamaños personalizados que agregas con add_image_sizes()?

0
Todas las respuestas a la pregunta 1
13

Estás malinterpretando el Codex. wp_get_attachment_image_src() funciona perfectamente bien con tamaños de imagen personalizados.

Prueba de concepto:

// copiado del Codex
// https://codex.wordpress.org/Function_Reference/add_image_size
if ( function_exists( 'add_image_size' ) ) { 
    add_image_size( 'category-thumb', 300, 9999 ); //300 píxeles de ancho (y altura ilimitada)
    add_image_size( 'homepage-thumb', 220, 180, true ); //(recortado)
}

Añade una imagen a la Biblioteca, luego...

$image_attributes = wp_get_attachment_image_src( 28, 'category-thumb' ); 
var_dump($image_attributes);

Notarás que la imagen devuelta es (una aproximación de) 300x9999, es decir, 300 de ancho por la altura que escale correctamente.

6 abr 2014 20:19:27
Comentarios

gracias pero eso no es una prueba, ya estoy usando var_dump para verlo. No obtengo nada más que los thumbs originales. Supongo que la verdad está en otro lado, estoy en wp beta 3.9 3, no sé si eso importa

JMau JMau
6 abr 2014 20:26:02

Funciona cuando lo pruebo y no hay nada en el código fuente que pueda ver que limite los tamaños. El problema que tienes no está donde crees, estoy bastante seguro. Probado en 3.9.

s_ha_dum s_ha_dum
6 abr 2014 20:35:24

Supongo que tienes razón, tampoco lo veo. $size es un string.

JMau JMau
6 abr 2014 20:41:04

Pero es extraño que solo funcione con tamaños incorporados para mí.

JMau JMau
6 abr 2014 21:18:00

Hay algo más que está mal. Prueba con un tema incluido y sin plugins.

s_ha_dum s_ha_dum
6 abr 2014 21:23:27

Voto +1 por tu respuesta porque creo que tienes razón, pero el problema sigue ahí. Cuando hago var_dump obtengo un false para el cuarto elemento del array oO

JMau JMau
7 abr 2014 01:11:13

El cuarto elemento es "[3] => boolean: true si $url es una imagen redimensionada, false si es la original." No logro ver por qué esto es relevante. En segundo lugar, creo que estás experimentando el problema que describes pero esto no responde a la pregunta tal como fue formulada y no hay forma de adivinar qué más podría estar fallando.

s_ha_dum s_ha_dum
7 abr 2014 01:16:03

Ya lo sé porque me estoy enfocando en este elemento particular del array, pero gracias. El punto aquí es que el parámetro $size de wp_get_attachment_image_src() es una $var en mi código.

JMau JMau
7 abr 2014 01:40:11

Si esa parte de la salida es el problema, entonces tu pregunta es extremadamente engañosa.

s_ha_dum s_ha_dum
7 abr 2014 01:41:44

Pensé que era un error de WP antes de preguntar aquí ^^

JMau JMau
7 abr 2014 01:42:40

Tu pregunta realmente no tiene nada que ver con el contenido específico de ese cuarto elemento del array.

s_ha_dum s_ha_dum
7 abr 2014 01:44:18

este cuarto elemento muestra si es una imagen redimensionada o no, así que en realidad tiene todo que ver. Pero como dije, muchas gracias y perdón por molestarte con mis preguntas tontas ^^

JMau JMau
7 abr 2014 01:46:30

Recuerda que necesitas regenerar todas las miniaturas para que el nuevo tamaño personalizado funcione. Puedes hacer esto con código o con el plugin "Regenerate thumbnails".

Floris Floris
16 sept 2019 10:42:43
Mostrar los 8 comentarios restantes