Проблема с несколькими циклами в теме wordpress

Я использую несколько циклов, подобных этому

<?php $posts = get_posts('numberposts=1&order=DESC&orderby=post_date&category='.get_cat_ID( 'سیاست' )); foreach ($posts as $post) : start_wp(); ?> <?php if ( has_post_thumbnail() ) { the_post_thumbnail(); } ?> <div class="content"> <h2><a href="<?php the_permalink()?>"><?php the_title()?></a></h2> <p><?php the_excerpt(); ?></p> <hr/> <?php endforeach; ?> 

В большей части моей темы, такой как боковая панель, нижний колонтитул, слайдер-шоу с разной категорией, проблема, с которой я столкнулся, заключается в том, что когда я использую следующий цикл в файле archive.php или category.php, чтобы показать данные для публикации (например, название , выдержка и художественное изображение), основанный на категории, это ничего мне не показывает. Когда я удаляю весь цикл выше, он работает. Это цикл в моем архиве или category.php, чтобы показать выдержку и заголовок сообщения:

 <?php if(have_posts()):?> <?php while ( have_posts() ) : the_post(); ?> <?Php the_title(); ?><br/> <?php endwhile; ?> <?php endif;?> 

Я помню время, когда у меня была эта проблема и решалась с помощью wp_reset_query после каждого цикла, но теперь это не работает. Возможно, wp_reset_query не работает для цикла foreach.

Solutions Collecting From Web of "Проблема с несколькими циклами в теме wordpress"

Правильный способ настройки вторичного запроса с использованием кода примера. Вместо этого:

 $posts = get_posts('numberposts=1&order=DESC&orderby=post_date&category='.get_cat_ID( 'سیاست' )); 

Сделай это:

 // Query args $custom_cat_args = array( 'posts_per_page' => 1, 'order' => 'DESC', 'orderby' => 'post_date', 'cat' => get_cat_ID( 'سیاست' ) ); // Instantiate query $custom_cat_query = new WP_Query( $custom_cat_args ); // Instantiate loop if ( $custom_cat_query->have_posts() ) : while ( $custom_cat_query->have_posts() ) : $custom_cat_query->the_post(); // Normal loop markup here // Close loop endwhile; endif; // Restore $post global wp_reset_postdata(); 

Используя этот метод, ваш пользовательский запрос будет хорошо воспроизводиться с вашим основным запросом цикла и любыми другими вторичными запросами.