WP related post based on tag and category

by Expert of Tech

One of the big advantages of using WordPress is the plugins. WordPress plugins cover almost anything you can imagine, from expanding your blog into a CMS to adding nifty features and optimizing your blog for search engines – the possibilities are endless (and let’s not forget all the different themes out there).

But by using too many plugins, you run the risk of clogging up your WordPress blog, and at the very worst, you might ‘break’ it. There are many instances of plugins that are not compatible with one another, as well as plugins that slow down your blog.

Some of the most popular WordPress plugin categories are based around adding “related posts” to a blog. Since WordPress doesn’t have anything standard for this, everyone is required to use some sort of plugin to display related posts on their site.

<div class="relatedposts">
<h3>Related posts</h3>
<?php
  $orig_post = $post;
  global $post;
  $tags = wp_get_post_tags($post->ID);
   
  if ($tags) {
  $tag_ids = array();
  foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
  $args=array(
  'tag__in' => $tag_ids,
  'post__not_in' => array($post->ID),
  'posts_per_page'=>4, // Number of related posts to display.
  'caller_get_posts'=>1
  );
   
  $my_query = new wp_query( $args );
 
  while( $my_query->have_posts() ) {
  $my_query->the_post();
  ?>
   
  <div class="relatedthumb">
    <a rel="external" href="<? the_permalink()?>"><?php the_post_thumbnail(array(150,100)); ?><br />
    <?php the_title(); ?>
    </a>
  </div>
   
  <? }
  }
  $post = $orig_post;
  wp_reset_query();
  ?>
</div>