The the code below pulls the 'plan type' taxonomy from the custom post type 'floorplan' and displays the posts accordingly, that works great. The problem I'm having is that it works only when each post has only one taxonomy. When I add multiple taxonomies to a custom post, the taxonomy filter no longer works.
For example, the homes have plan types of < 1500 square feet, > 1500 square feet, > 2500 square feet, and all plans. As it stands, it works properly if using only one of those taxonomies, but, I'd like to be able to apply the taxonomy all plans to each floor plan so that when filtered, I can see every post.
<?php
$terms = wp_get_post_terms( $post->ID, 'plan type' );
if($terms){
// post has course_type terms attached
$course_terms = array();
foreach ($terms as $term){
$course_terms[] = $term->slug;
}
$original_query = $wp_query;
$wp_query = null;
$wp_query = new WP_Query( array(
'post_type' => 'floorplans',
'tax_query' => array(
array(
'taxonomy' => 'plan type',
'field' => 'slug',
'terms' => $course_terms, //the taxonomy terms I'd like to dynamically query
'posts_per_page' => '-1',
),
),
'orderby' => 'title',
'order' => 'ASC',
'posts_per_page' => '-1',
));
if ( have_posts() ): ?>
<ul class="gallery_list cf">
<?php
while (have_posts() ) : the_post();
$thumb = get_field('floorThumb');
?>
<li>
<a href="<?php the_permalink(); ?>">
<div class="gallery_thumb">
<img src="<?php echo $thumb['url']; ?>" alt="<?php echo $thumb['alt']; ?>">
</div>
<div class="overlay"></div>
<h2><?php the_title(); ?></h2>
</a>
</li>
<?php endwhile; ?>
</ul>
<?php endif;
$wp_query = null;
$wp_query = $original_query;
wp_reset_postdata();
} // end if($terms)
} ?>
$course_terms
is defined? Is it something being posted as search term?