Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't get WordPress' custom image sizes

Tags:

wordpress

I defined my custom image sizes like this:

  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);

I uploaded test photos and it works - they are resized. But when I try to print it:

    <?php $img = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID, 'news-big') ); ?>
    <?php print_r($img); ?>

It returns 'thumb' (150x150). It's first time I see something like this. I use Roots framework theme. What's wrong?

like image 924
Tomek Buszewski Avatar asked Feb 15 '13 17:02

Tomek Buszewski


2 Answers

You have a misplaced bracket, so you weren't actually passing a size to wp_get_attachment_image_src and it was defaulting to thumbnail.

<?php $img = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'news-big' ); ?>
like image 71
Jrod Avatar answered Oct 16 '22 08:10

Jrod


get_post_thumbnail_id takes only one argument, the post id...

You want to pass your size argument to the wp_get_attachment_image_src

$img_src = wp_get_attachment_image_src(
             get_post_thumbnail_id($post->ID), 
             news-big'
           );

Why?

Even though WordPress makes many images per your size definitions, there is still only a single attachment id. There are not different ids for the different sizes.

like image 44
jondavidjohn Avatar answered Oct 16 '22 09:10

jondavidjohn