Definí mis tamaños de imagen personalizados así:
add_theme_support('post-thumbnails');
add_image_size('news-big', 370, 240, true);
add_image_size('news-small',270,150,true);
add_image_size('portfolio-big',370,500,true);
add_image_size('portfolio-small',270,350,true);
add_image_size('client',200,150,false);
Subí fotos de prueba y funciona, están redimensionadas. Pero cuando trato de imprimirlo:
<?php $img = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID, 'news-big') ); ?>
<?php print_r($img); ?>
Devuelve ‘pulgar’ (150×150). Es la primera vez que veo algo así. Uso el tema del marco Roots. ¿Qué ocurre?
Tiene un corchete fuera de lugar, por lo que en realidad no estaba pasando un tamaño a wp_get_attachment_image_src
y estaba por defecto en miniatura.
<?php $img = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'news-big' ); ?>
-
Esto ni siquiera es divertido, pasé más de 30 minutos en Google para esto: D ¡Gracias amigo! Los errores tipográficos son siempre los peores;)
–Tomek Buszewski
15 de febrero de 2013 a las 17:28
-
@TomekBuszewski Son especialmente frustrantes cuando las cosas fallan en silencio. PHP no arroja errores por pasar demasiados parámetros.
– Jrod
15/02/2013 a las 17:40
-
Escribo código como este casi todo el tiempo y fue un gran momento ‘wtf’ para mí en ese entonces. Gracias de nuevo, salvaste mi fe en mí mismo ;))
–Tomek Buszewski
15 de febrero de 2013 a las 17:42
jondavidjohn
get_post_thumbnail_id
toma solo un argumento, la identificación de la publicación …
Desea pasar su argumento de tamaño a wp_get_attachment_image_src
$img_src = wp_get_attachment_image_src(
get_post_thumbnail_id($post->ID),
news-big'
);
¿Por qué?
Aunque WordPress crea muchas imágenes según sus definiciones de tamaño, todavía hay una sola identificación de archivo adjunto. No hay ID diferentes para los diferentes tamaños.
Esta es una visualización incorrecta de la miniatura:
<?php $img = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID, 'news-big') ); ?>
<?php print_r($img); ?>
Si agrega miniaturas a la publicación, puede usar simplemente:
the_post_thumbnail();
sin esto todas las demás cosas. Y si agrega un tamaño de miniatura personalizado, puede usar:
the_post_thumbnail('news-big');
Pero antes de usarlo, realmente debe agregar una imagen para publicar como “Imagen destacada”.