Created
October 16, 2011 15:13
-
-
Save chipbennett/1291015 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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