У меня есть пользовательский тип записи products
с таксономией range
.У меня есть другой пользовательский тип записи stockist
, который использует ACF post_object
, чтобы связать продукт с биржевиком.
Я пытаюсь пройтись по постам биржевика, вернуть заголовок каждого термина, а затемсписок каждого товара, связанного с продавцом через почтовый объект.
<?php
$args2 = array( 'post_type' => 'stockist', 'posts_per_page' => -1 );
$stockistloop2 = new WP_Query( $args2 );
if ( $stockistloop2->have_posts() ): while ( $stockistloop2->have_posts() ): $stockistloop2->the_post();?>
<div class="col-1-1 clearfix nopad stockist-block-dropdown STORE <?php the_title();?>">
<h2 class="stockist-title"><?php the_title();?></h2>
<?php
$args = array( 'taxonomy' => 'range');
$categories = get_categories($args);
if($categories): foreach($categories as $category): $url = get_category_link( $category->term_id ); ?>
<div class="col-1-5 mobile-col-1-2">
<h4><?php echo ($category->name) ;?></h4>
<?php $post_objects = get_field('stocked_range'); if( $post_objects ): ?>
<ul class="stockist-block-products clearfix">
<?php foreach( $post_objects as $post_object): $post_terms_array = get_the_terms($post_object, 'range'); $post_term_name = $post_terms_array[0]->slug;
if($post_term_name == $category->slug):?>
<li>
<a href="<?php echo get_permalink($post_object->ID); ?>" target="_blank"><?php echo get_the_title($post_object->ID); ?></a>
</li>
<?php endif; endforeach; ?>
</ul>
<?php endif;?>
</div>
<?php endforeach; endif;?>
</div>
<?php endwhile; wp_reset_postdata(); endif; ?>
Это работает до некоторой точки, но когда продукт имеет более одного термина.Например, свиная колбаса может иметь термин «колбасы», а также «барбекю», она возвращается только один раз под сосисками, а не в обоих условиях.
Кто-нибудь может дать какой-нибудь совет?