Цикл записи для всех терминов таксономии
В настоящее время у меня настроена пользовательская таксономия под названием development-category
на данный момент, если я хочу настроить цикл сообщений для каждой из этих таксономий, мне нужно сделать это следующим образом:
<?php $hotels_loop = new WP_Query( array( 'development-category' => 'hotels', 'post_type' => 'developments' ) ); ?>
<ul class="sector-menu-sub-menu">
<?php while ( $hotels_loop->have_posts() ) : $hotels_loop->the_post(); ?>
<?php the_title(); ?>//etc etc
<?php endwhile; ?>
</ul>
<?php wp_reset_query(); ?>
<?php $leisure_loop = new WP_Query( array( 'development-category' => 'leisure', 'post_type' => 'developments' ) ); ?>
<ul class="sector-menu-sub-menu">
<?php while ( $leisure_loop->have_posts() ) : $leisure_loop->the_post(); ?>
<?php the_title(); ?>//etc etc
<?php endwhile; ?>
</ul>
<?php wp_reset_query(); ?>
<?php $commercial_loop = new WP_Query( array( 'development-category' => 'commercial', 'post_type' => 'developments' ) ); ?>
<ul class="sector-menu-sub-menu">
<?php while ( $commercial_loop->have_posts() ) : $commercial_loop->the_post(); ?>
<?php the_title(); ?>//etc etc
<?php endwhile; ?>
</ul>
<?php wp_reset_query(); ?>
//etc etc
Это работает, но мне нужно настроить цикл для каждого термина таксономии, в данном случае есть цикл для термина таксономии hotels
, термина таксономии leisure
и термина таксономии commercial
, но я не хочу делать это для каждого нового термина таксономии, который я добавляю, и поскольку сайт управляется контентом, он будет управляться клиентом, так что они тоже не смогут этого сделать. Мне интересно, есть ли способ настроить цикл для каждого термина таксономии для таксономии development-category
, поэтому, если будет добавлен новый термин, он создаст новый цикл в соответствии с моим кодом ниже, если это имеет смысл? Любые предложения будут с благодарностью приняты!
1 answers
Вы можете получить все термины в пользовательской таксономии, используя следующий код:
$terms = get_terms( 'development-category' );
if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){
foreach ( $terms as $term ) {
$loop = new WP_Query( array( 'development-category' => $term->slug, 'post_type' => 'developments' ) ); ?>
....
}
}