OK … code might still be a bit on the flimsy side, but here’s what I came up with (still not posting the old, even crappier, PHP; sorry down-voter ) in case anyone else might have use for it or can improve on it.
<section class="column first">
<h2>What's New</h2>
<?php
$sticky = get_option( 'sticky_posts' );
$args = array(
'category_name' => 'news',
'post__in' => $sticky,
);
query_posts( $args ); while (have_posts()) : the_post();
{ ?>
<h3><?php the_title(); ?></h3>
<?php the_content(); ?>
<?php } endwhile; wp_reset_query(); ?>
</section>
<section class="column middle">
<h2>Country Projects</h2>
<?php
$sticky = get_option( 'sticky_posts' );
$args = array(
'category_name' => 'projects',
'post__in' => $sticky,
);
query_posts( $args ); while (have_posts()) : the_post();
{ ?>
<h3><?php the_title(); ?></h3>
<?php the_content(); ?>
<?php } endwhile; wp_reset_query(); ?>
</section>
<section class="column last">
<h2>Featured Publications</h2>
<?php
$sticky = get_option( 'sticky_posts' );
$args = array(
'category_name' => 'publications', //This is the parent category, no need for using the cat ID this way.
'post__in' => $sticky,
);
query_posts( $args ); while (have_posts()) : the_post();
{ ?>
<h3><?php the_title(); ?></h3>
<?php the_content(); ?>
<?php } endwhile; wp_reset_query(); ?>
</section>
Feel free to improve this or comment on how it can be optimised and/or pros and cons to my approach.