WordPress image crop probems

You don’t need to do manual cropping; just create a custom image size, and WordPress will perform the cropping on image upload.

e.g. in functions.php:

add_image_size( 'portfolio-thumbnail', 214, 187, true );

Then in your portfolio template, inside the Loop:

the_post_thumbnail( 'portfolio-thumbnail' );

(I assume you know how to handle the rest of the output, such as creating the grid layout, and linking each thumbnail image, etc.)

Note: you’ll have to regenerate thumbnails for any already-uploaded images.