Skip to content

Instantly share code, notes, and snippets.

@chipbennett
Created October 16, 2011 15:13
Show Gist options
  • Save chipbennett/1291015 to your computer and use it in GitHub Desktop.
Save chipbennett/1291015 to your computer and use it in GitHub Desktop.
<?php
// First, backup the default $postdata
$backup = $post;
// Now, override the default
$tags = wp_get_post_tags($post->ID);
// Now, open the if ( $tags ) statement
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
// Now, setup your custom query args
$args=array(
'tag__in' => $tag_ids,
'post__not_in' => array($post->ID),
'showposts'=>4, // Number of related posts that will be shown.
'caller_get_posts'=>1
);
// Now, perform your custom query
$my_query = new wp_query($args);
// Next, open your custom query IF statement
if( $my_query->have_posts() ) {
// We have posts, so let's output the opening-containing markup
?>
<h2>Related Posts</h2>
<!-- "previous page" action -->
<a class="prev browse left"></a>
<!-- root element for scrollable -->
<div class="scrollable" id=chained>
<!-- root element for the items -->
<div class="items">
<!-- post 1-4 -->
<div>
<?php
// Now, open your custom query WHILE statement
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<div class="relatedPosts"><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_post_thumbnail(array(120,80)); ?></a>
<div class="relatedPosts_title"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></div></div>
<?php
// Now, close the while $my_query->have_posts() statement
}
// I'm not sure why this is here?
echo '';
// Now, output your closing-containing HTML content
?>
</div>
</div>
</div>
<!-- "next page" action -->
<a class="next browse right"></a>
<?php
// Now, close the if $my_query->have_posts() statement
// and open the ELSE statement, for your no-posts content
} else {
?>
<!-- If there are no related posts:-->
<p class="noposts">Sorry, but there are no related posts for this particular entry.</p>
<?php
// Now, close the ELSE statement
}
// Now, close the if ( $tags ) statement
}
// Now, reset the default query
$post = $backup;
wp_reset_query();
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment