Кастомный related loop выводит один и тот же товар
Цель: сделать вывод рекомендаций, по одному товару из каждой родительской категории последовательно, отфильтровав их по атрибуту, например по цвету.
У меня 4 родительские категории, но почему то функция всегда выдает один и тот же товар из одной категории 4 раза. Не могу понять что сделал не так.
function related_list() {
global $product;
$categories = get_terms( array( 'taxonomy' => 'product_cat' , 'parent' => 0, 'fields' => 'ids') );
$thiscolor = wc_get_product_terms( $product->id, 'pa_color', array( 'fields' => 'slugs' ) );
$loop = new WP_Query;
foreach ( $categories as $category ) :
$loop->query( array(
'product_cat' => $category->term_id,
'post_type' => 'product',
'posts_per_page' => 1,
'fields' => 'ids',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'pa_color',
'field' => 'slug',
'terms' => $thiscolor,
'operator' => 'AND'
)
)
));
if ( $loop->have_posts() ) {
while ( $loop->have_posts() ) : $loop->the_post();
woocommerce_get_template_part( 'content', 'product' );
endwhile;
} else {
echo __( 'No products found' );
}
wp_reset_postdata();
endforeach;
}