How do I show 1 item per category from custom post types?



I want to create a page where I show a category list of each category I have products in.

This category list will show 1 product for each category with the items: Image, Category Name, Wrap all with category page link.

I have this code:
$posts = get_posts(array(
'post_type' => 'produtos',
'taxonomy' => $category->taxonomy,
'term' => $category->slug,
'nopaging' => true,

//metaquery solicita apenas itens que batem o valor de item destaque
'meta_query' => array(
'key' => 'destaque',
'value' => '1',


foreach($posts as $post): setup_postdata($post);

<div class="span3">

<img src="<?php the_field('imagem'); ?>" width="200" height="200"/>

<h2><?php the_terms( $post->ID, 'categorias_produto', '', ', ', '' ); ?> </h2>


<?php endforeach; ?>

the problem with this code is:
It will load every item in every category, plus I can't generate this link in a way I can wrap the image and title with it.

Can someone help?