Thursday, May 6, 2010

TutZone- Tutorials, Design news and Inspiration

TutZone- Tutorials, Design news and Inspiration

Link to TutZone

Post Treatment – Show Related Posts Without a Plugin

Posted: 06 May 2010 05:28 AM PDT


Using too many plugins on a Wordpress installation usually slower the loading time of the site, especially when same can be achieved using a simple piece of code. Though its not always wise to use codes in your wordpress themes, especially if you are not familiar with them. Here we will show you how to Show Related Posts Without Plugin which will be based on the tags you will use in your posts. Hope this helps some.

Procesure:

Note: Do take backup of your theme before you try this.

01. Go to Appearance => Editor.
editor

02. Then choose functions.php file from right hand side and add below code:
functions.php

function related_posts_shortcode( $atts ) {
extract(shortcode_atts(array(
‘limit’ => ‘5′,
), $atts));

global $wpdb, $post, $table_prefix;

if ($post->ID) {
$retval = ‘<ul>’;
// Get tags
$tags = wp_get_post_tags($post->ID);
$tagsarray = array();
foreach ($tags as $tag) {
$tagsarray[] = $tag->term_id;
}
$tagslist = implode(‘,’, $tagsarray);

// Do the query
$q = "SELECT p.*, count(tr.object_id) as count
FROM $wpdb->term_taxonomy AS tt, $wpdb->term_relationships AS tr, $wpdb->posts AS p WHERE tt.taxonomy =’post_tag’ AND tt.term_taxonomy_id = tr.term_taxonomy_id AND tr.object_id = p.ID AND tt.term_id IN ($tagslist) AND p.ID != $post->ID
AND p.post_status = ‘publish’
AND p.post_date_gmt < NOW()
GROUP BY tr.object_id
ORDER BY count DESC, p.post_date_gmt DESC
LIMIT $limit;";

$related = $wpdb->get_results($q);
if ( $related ) {
foreach($related as $r) {
$retval .= ‘
<li><a title="’.wptexturize($r->post_title).’" href="’.get_permalink($r->ID).’">’.wptexturize($r->post_title).’</a></li>
‘;
}
} else {
$retval .= ‘
<li>No related posts found</li>
‘;
}
$retval .= ‘</ul>
‘;
return $retval;
}
return;
}
add_shortcode(‘related_posts’, ‘related_posts_shortcode’);


03. Save file. Now open single.php file and place following lines where you want your Related Posts to appear:
functions.php

[related_posts]

04. Save file and you are done.


For New Wordpress Users:

You can try out following recommended plugins:

Yet Another Related Posts Plugin
Or
Similar Posts

Further Resources:

That concludes this simple and useful tutorial. Hope you like it.

No comments:

Post a Comment