Support » Themes and Templates » Displaying Related Posts with Custom Post Type

  • Hi folks!

    I’m trying to create a list of thumbnails of related posts within a custom post type.

    I found the following code over at wpbeginner:

    <?php $orig_post = $post;
    global $post;
    $categories = get_the_category($post->ID);
    if ($categories) {
    $category_ids = array();
    foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
    
    $args=array(
    'category__in' => $category_ids,
    'post__not_in' => array($post->ID),
    'posts_per_page'=> 2, // Number of related posts that will be shown.
    'caller_get_posts'=>1
    );
    
    $my_query = new wp_query( $args );
    if( $my_query->have_posts() ) {
    echo '<div id="related_posts"><h3>Related Posts</h3><ul>';
    while( $my_query->have_posts() ) {
    $my_query->the_post();?>
    
    <li><div class="relatedthumb"><a href="<? the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_post_thumbnail(); ?></a></div>
    <div class="relatedcontent">
    <h3><a href="<? the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>
    <?php the_time('M j, Y') ?>
    </div>
    </li>
    <?
    }
    echo '</ul></div>';
    }
    }
    $post = $orig_post;
    wp_reset_query(); ?>

    which would work if I were using a regular post. In order to display a list of custom posts from a specific category elsewhere, I’ve used this:

    <?php
      query_posts( array( 'post_type' => 'lv_video', 'category_name' => 'featured' ) );
      if ( have_posts() ) : while ( have_posts() ) : the_post();
    ?>
    
    <li>
      <?php the_excerpt(); ?>
    </li>
    
    <?php endwhile; endif; wp_reset_query(); ?>

    But I’m not sure how to modify the first code to reflect my custom post type.

Viewing 6 replies - 1 through 6 (of 6 total)
  • $args=array(
    'post_type' => 'your post type here',
    'category__in' => $category_ids,
    'post__not_in' => array($post->ID),
    'posts_per_page'=> 2, // Number of related posts that will be shown.
    'caller_get_posts'=>1
    );

    Thanks MichaelH! Awesome. I have very little knowledge of PHP and I’ve forgotten a lot of other programming… but that makes sense. I’ll try it out.

    sophieyanow – did that work? i’m using the same code and trying to do the same thing but can’t get it to work….. any thoughts?

    Hi,

    I’m pretty curious about this topic too.
    I can’t get post__in and post__not_in to work with custom post types.
    The example below works fine with the ‘post_type’ line commented (standard post query).
    Here’s what happens if I uncomment this line in order to query custom posts : using post__in, I get no posts at all, and using post__not_in I get all the posts including the ones I want to exclude.

    Any clue ? (I’m using WP 3.1.3 by the way)
    Thanks

    $custom_query = new WP_Query(array(
    //	'post_type'=>'header_images',
    	'posts_per_page' => -1,
    	'post__in' => array(234),
    	'orderby' => 'menu_order',
    	'order' => 'ASC'
    ));

    Oops… there was something wrong in my code, that was pretty tricky indeed, but WP was not involved. Sorry.

    I added this code into my single-custom-post-type.php but see nothing when I refresh the page.

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘Displaying Related Posts with Custom Post Type’ is closed to new replies.