[tab: PS]

I'm modifying the wordpress plugin to include a custom Ordering and expose a method cs_get_featured_posts which wraps query_posts for use directly in a theme. I need this for letting the theme customize the results instead of simply using the widget provided in the original. Browse source.

Changelog

To Arrive at this, I had to try WP_DEBUG and realised that the suggested get_meta_sql doesnt work by looking at query.php.

TODO:

[tab: SS]
In my theme, to get the picture:

I've only to add the lines below:

cs_get_featured_posts();
while ( have_posts() ) { the_post();
		$id = get_the_ID();
    echo '<a href="' . get_permalink($id) . '">';
		the_title(); echo "</a><br/>";
  }

And to configure it, the edit post looks like so.

[tab: php]

function cs_get_featured_posts()
{
	//add filters for posts_join_paged, posts_where_paged, posts_orderby
	query_posts('posts_per_page=10&showposts=10');
	//remove filters
}
function featposts_join_sql( $meta_sql )
{
    return " LEFT JOIN wp_postmeta as pmF ON (wp_posts.ID = pmF.post_id AND pmF.meta_key = 'featured') "
    		.= " LEFT JOIN wp_postmeta as pmO ON (wp_posts.ID = pmO.post_id AND pmO.meta_key = 'featuredOrder') ";
}
function featposts_where_sql( $meta_sql )
{
    return " AND (pmF.meta_value = 1)";
}
function featposts_order_sql( $orderby )
{
    return 'pmO.meta_value ASC';
}

[tab: source]

[iframe src="http://cselian.com/d/code/serve.php?file=./apps/feat-posts/cs-wp-featured-posts.php"]