• Hey all, I’ve been able to call related posts to regular posts without a plugin, however I can not seem to extend the code to a custom post type and/or taxonomy. You can see my code below (placed in my single custom post type file – single-property.php). Seems pretty straight forward but am I doing something wrong? Any insight is greatly appreciated. Thanks in advance!!

    <?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,
    								'post_type' => 'property',
    								'taxonomy' => 'property-type'
    								);
    
    								$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();
    								?>
Viewing 2 replies - 1 through 2 (of 2 total)
  • Moderator bcworkz

    (@bcworkz)

    PHP is case sensitive. The line creating a new query object should be $my_query = new WP_Query( $args );

    While most PHP functions are all lowercase, WordPress classes are usually mixed case, so pay extra attention when instantiating class objects.

    Thread Starter aronjeney

    (@aronjeney)

    Thanks bcworkz. I was actually able to solve my question just a moment ago with this code.

    global $post;
    							if ( 'property' == get_post_type() ) {
    							$tags = wp_get_post_terms($post->ID, 'property-city');
    							if ($tags) {
    								$tag_ids = array();
    
    								foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
    								$args=array(
    									'tax_query' => array(
    							        array(
    							            'taxonomy'  => 'property-city',
    							            'terms'     => $tag_ids,
    							            'operator'  => 'IN'
    							        )
    							    ),
    							    'post__not_in'          => array( $post->ID ),
    							    'posts_per_page'        => 4,
    							    'ignore_sticky_posts'   => 1
    								);
    								$my_query = new wp_query( $args );
    
    								if( $my_query->have_posts() ) { ?>

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘Related posts for custom post type without plugin’ is closed to new replies.