No puedo obtener los tamaños de imagen personalizados de WordPress

2 minutos de lectura

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

avatar de usuario
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”.

¿Ha sido útil esta solución?