Hmm. I’m thinking you can do something like this by making use of custom fields. Here’s what I suggest:
1. Add a custom field key to each post you want highlighted. for originality we’ll call the key ‘highlight’ — :)
2. Give a unique number for each ‘highlight’ value. We’ll use this for post ordering, so ‘1’ is displayed first, ‘2’ is second…I think you get the idea.
3. Use this in your template to display the posts:
<?php
$customkey = 'highlight'; // set custom key
global $wpdb;
$highlighted = $wpdb->get_results("SELECT * FROM $wpdb->posts, $wpdb->postmeta WHERE ID = post_id AND meta_key = '$customkey' ORDER BY meta_value ASC");
foreach($highlighted as $post) : setup_postdata($post);
?>
~”Loop” template tags and whatnot go here~
<?php endforeach; ?>
What you display or the formatting is up to you. Here’s an example which places them in a list, with titles as links to the posts:
<ul>
<li><h2>Highlighted posts:</h2>
<ul>
<?php
$customkey = 'highlight'; // set custom key
global $wpdb;
$highlighted = $wpdb->get_results("SELECT * FROM $wpdb->posts, $wpdb->postmeta WHERE ID = post_id AND meta_key = '$customkey' ORDER BY meta_value ASC");
foreach($highlighted as $post) : setup_postdata($post);
?>
<li><a href="<?php the_permalink(); ?>" rel="bookmark" title="Permalink to: <?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>
</li>
</ul>