0

I'm trying to create a Related Posts section on my single.php file and I'm using this as a starting point (http://www.wpbeginner.com/wp-tutorials/how-to-display-related-posts-in-wordpress/) and my issue is I don't think this script is calling from custom post types. Just whatever is in the main post area, which has no posts. They're all in the CPT's. What would I adjust to make this work? Here's one thing I tried already that came up with errors.

<div class="relatedposts">  
            <h3>Related posts</h3>  
                <?php  
                    $orig_post = $post array( 'food', 'film', 'music', 'art', 'fashion', 'photography' );
                    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>
0

By default WP_Query() will query posts (unless tax_query is set). You can change this by setting the post_type key in your $args array.

To search for the same post type as is being currently viewed you can do the following:

$args=array(  
    'post_type'        => get_post_type(), //gets the post type of the current 'post'
    'tag__in'          => $tag_ids,  
    'post__not_in'     => array($post->ID),  
    'posts_per_page'   => 4, // Number of related posts to display.  
    'caller_get_posts' => 1  
); 

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.