wordpress theme – featured posts

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

  • Add featuredOrder to the add_featured method.
  • add cs_get_featured_posts method.
  • hook the query_posts to include custom joins and order by to make it more readable than trying to pass all as parameters.

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:

  • Check accusation of javascript site hacking.
  • Contact Original Author GdnGroups via forum.
  • Ask them to merge this / create new plugin.
  • What is purpose of featured-post.php?

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.

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';
}

source


Warning: count(): Parameter must be an array or an object that implements Countable in /home/cselian/public_html/blog/wp-includes/class-wp-comment-query.php on line 405

Leave a Comment