How to add terms to my tax_query based off of the current post

I need the terms in my tax_query to be the ones from the current post. I am trying to this by using a variable. The value of the variable is given by using the get_terms() function.

The problem is that it is not returning anything. It does however return the correct posts when I manually put the terms in the array.

Read More

How do I grab the posts terms automatically and place them in the terms parameter?

Here is the code that I am using.

<?php
//for use in the loop, list 5 post titles related to first tag on current post
$tags1 = get_terms($post->ID, 'b');
if ($tags1) {
echo '<div id="productsideheaders"><h2>PRODUCTS</h2></div>';
$args = array(
'tax_query' => array(
array(
'taxonomy' => 'b',
'terms' => array('$tags1'),
'field' => 'slug',

)
)
);
$query = new WP_Query( $args );
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<div style="width: 270px;float: left;">
<?php if ( has_post_thumbnail()) : ?>
title="<?php the_title_attribute(); ?>" >
<?php the_post_thumbnail( array(40,40) ); ?>
<span style="font-size: 10pt;">" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title('' ); ?></span></div>
<?php endif; ?>

<?php
endwhile;list
}
}
?>

Related posts

Leave a Reply

2 comments

  1. ‘terms’ => array(‘$tags1’),

    Remove the single quotes and it should look like
    ‘terms’ => array($tags1) OR ‘terms’ => $tags1

    No need to make it an array, if you are using just one value.

  2. $tags1 = wp_get_post_terms($post->ID, 'b');
    

    Is what you are looking for? It gets sort of complicated with taxonomies and WordPress

    get_terms doesn’t work by post_id, it only lists categories.