Я думаю, что этот способ немного упрощен и масштабируем, потому что, если вам нужно больше условий, просто добавьте elseif или случай переключения и поиграйте с функциями.
<?php
// Setup your custom query
$args = array( 'post_type' => 'product', 'posts_per_page' => 7);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<a href="<?php echo get_permalink( $loop->post->ID ) ?>" class="d-block w-100">
<h2><?php the_title(); ?></h2>
<img src="<?php the_post_thumbnail_url(); ?>" class="img-fluid">
<?php
$brand_terms = get_the_terms($post, 'pa_kleur');
$brand_string = ''; // Reset string
foreach ($brand_terms as $term) : ?> <div style="display: block; margin-bottom: 50px;"><?php
$act = 1;
if ($term->name=='Roze') {
$color = 'pink';
$class = 'roze';
}else{
$color = 'grey';
$class = 'grijze';
}
$variations = $product->get_available_variations();
foreach ( $variations as $key => $value ) {
if ($value['attributes']['attribute_pa_kleur'] == 'roze') {
?>
<div style="width: 20px; height: 20px; background-color: <?=$color?>;" class="<?=$class?>-kleur"></div>
<li>
<span><?php echo $value['image']['url']; }?></span>
</li>
</div>
<?php
}
}
endforeach;
?>
</a><br>
<?php endwhile; wp_reset_query(); // Remember to reset ?>
Надеюсь, это работает для вас!