A couple of clever wordpress tricks make this quite an easy thing to accomplish.  Since wordpress introduced the thumbnail feature in 2.9.1 it is very easy for theme authors to add this and make magazine type layouts. There are 2 parts to making this work

1) Step one… create a custom Category page for the category of your choice.  This is a very useful trick.  All you need to do is to create a new file called category-10.php (replacing the 10 with the id of the category you wish to affect).  The easist way to do this is to create a copy of archive.php and rename the copy as category-10.php.  Now when ever category 10 is called this page will be supplied.

2) Step two.. enable tumbnail support.  This is very simple.  All you need to do is to add:

add_theme_support( 'post-thumbnails' );

this will enable thumbnail support across you theme.

to functions.php in your theme before the final php tag.

Now set the size of your thumbnails using

set_post_thumbnail_size( 50, 50 );

(note for additional options see here)

Thats it! All you now need to do is to go and edit category-10.php and call the thumbnail using

<?php the_post_thumbnail(); ?>

If you want to create a grid layout just comment out everything and wrap the thumbnail link with the link to the post.
A typical your Archive.php might look like:

<?php get_header(); ?>
<div class="grid_16 content_wrapper">
<div id="left" class="grid_9 omega alpha">
  <div id="content">
    <?php if (have_posts()) : ?>
    <div class="post">
      <?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?>
      <?php /* If this is a category archive */ if (is_category()) { ?>
 <!--     <h2 class="search">
        <?php single_cat_title(); ?>
        </h2> -->
      <?php /* If this is a tag archive */ } elseif( is_tag() ) { ?>
      <h2 class="search">Posts Tagged &#8216;
        <?php single_tag_title(); ?>
        </h2>
      <?php /* If this is a daily archive */ } elseif (is_day()) { ?>
      <h2 class="search">Archive for
        <?php the_time('F jS, Y'); ?>
      </h2>
      <?php /* If this is a monthly archive */ } elseif (is_month()) { ?>
      <h2 class="search">Archive for
        <?php the_time('F, Y'); ?>
      </h2>
      <?php /* If this is a yearly archive */ } elseif (is_year()) { ?>
      <h2 class="search">Archive for
        <?php the_time('Y'); ?>
      </h2>
      <?php /* If this is an author archive */ } elseif (is_author()) { ?>
      <h2 class="search">Author Archive</h2>
      <?php /* If this is a paged archive */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
        <h2 class="search">Blog Archives</h2>
        <?php } ?>
    </div>
    <?php while (have_posts()) : the_post(); ?>
    <div class="entry">
      <div class="post" id="post-<?php the_ID(); ?>">
        <h2><a href="<?php echo get_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title_attribute(); ?>">
          <?php the_title(); ?>
          </a></h2>
        <p class="postinfo"><span class="upper">
          <?php the_time('M j, Y') ?>
          </span> <span class="category">
          <?php the_category(', ') ?>
          </span>
          <?php edit_post_link('Edit', ' | ', ''); ?>
        </p>
        <?php the_content('<p class="serif">Read the rest of this entry &raquo;</p>'); ?>
        <?php wp_link_pages(array('before' => '<p><strong>Pages:</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>
        <p class="postinfo">
          <?php the_tags( 'Tags: ', ', ', ''); ?>
        </p>
      </div>
    </div>
    <div class="clear"></div>
    <?php endwhile; else: ?>
    <div class="entry">
      <p>Sorry, no posts matched your criteria.</p>
    </div>
    <?php endif; ?>
  </div>
</div>

<br clear="all" />
</div>
<?php get_footer(); ?>

To achieve an image grid layout change your archive file to something like


<?php get_header(); ?>
<div class="grid_16 content_wrapper">
<div id="left" class="grid_9 omega alpha">
  <div id="content">
    <?php if (have_posts()) : ?>
    <div class="post">
      <?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?>
      <?php /* If this is a category archive */ if (is_category()) { ?>

      <?php /* If this is a tag archive */ } elseif( is_tag() ) { ?>
      <h2 class="search">Posts Tagged &#8216;
        <?php single_tag_title(); ?>
        </h2>
      <?php /* If this is a daily archive */ } elseif (is_day()) { ?>
      <h2 class="search">Archive for
        <?php the_time('F jS, Y'); ?>
      </h2>
      <?php /* If this is a monthly archive */ } elseif (is_month()) { ?>
      <h2 class="search">Archive for
        <?php the_time('F, Y'); ?>
      </h2>
      <?php /* If this is a yearly archive */ } elseif (is_year()) { ?>
      <h2 class="search">Archive for
        <?php the_time('Y'); ?>
      </h2>
      <?php /* If this is an author archive */ } elseif (is_author()) { ?>
      <h2 class="search">Author Archive</h2>
      <?php /* If this is a paged archive */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
        <h2 class="search">Blog Archives</h2>
        <?php } ?>
    </div>
 <div class="entry-spotlight">
 <h2>Spot Light</h2>
<?php while (have_posts()) : the_post(); ?>
      <div class="spotlight" id="post-<?php the_ID(); ?>">
        <a href="<?php echo get_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title_attribute(); ?>">
          <?php the_post_thumbnail(); ?></a><p><a href="<?php echo get_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title_attribute(); ?>"><?php the_title_attribute(); ?></a></p>

        <p class="postinfo">
          <?php the_tags( 'Tags: ', ', ', ''); ?>
        </p>
      </div>

    <?php endwhile; else: ?>
    <div class="entry">
      <p>Sorry, no posts matched your criteria.</p>
    </div>
    <?php endif; ?>
<div class="clear"></div>
</div>
  </div>
</div>

<br clear="all" />
</div>
<?php get_footer(); ?>

Then edit the css so that each image floats to the left and had a suitable margin around it to look nice.

Related posts:

  1. Fix missing Recent Posts in Arthemia WordPress theme
  2. Create a left hand navigation / vertical category in Magento
  3. Create a left hand navigation / vertical category in Magento