No entiendo porqué pierde el tamaño, yo siempre he preferido usar una librería externa (timthumb) para manejar los thumbnails, pero bueno, en fin, el código que te dio AlZu debería funcionar.
Otra cosa ¿intentaste lo que te dije antes? usando get_the_post_thumbnail_id() obtienes el ID de la imagen, tal vez de esa manera no pierdes el tamaño asignado en functions.php
EDITO: Prueba así:
Código PHP:
Ver original<?php
if ( has_post_thumbnail() ) {
'id' => 'img-' . the_ID(),
);
the_post_thumbnail($attr);
}
?>