Tôi cho rằng điều này rất nặng nề, nhưng để trả lời câu hỏi ban đầu của bạn, tôi đã thu thập tất cả các id của bài đăng trong một mảng trong vòng lặp đầu tiên và loại trừ các bài đăng đó khỏi vòng lặp thứ hai bằng cách sử dụng 'post__not_in' , dự kiến một mảng id bài
<?php
$args1 = array('category_name' => 'test-cat-1', 'order' => 'ASC');
$q1 = new WP_query($args);
if($q1->have_posts()) :
$firstPosts = array();
while($q1->have_posts()) : $q1->the_post();
$firstPosts[] = $post->ID; // add post id to array
echo '<div class="item">';
echo "<h2>" . get_the_title() . "</h2>";
echo "</div>";
endwhile;
endif;
/****************************************************************************/
// array of post id's collected in first loop, can now be used as value for the 'post__not_in' parameter in second loops query $args
$args2 = array('post__not_in' => $firstPosts, 'order' => 'ASC' );
$q2 = new WP_query($args2);
if($q2->have_posts()) :
while($q2->have_posts()) : $q2->the_post();
echo '<div class="item">';
echo "<h2>" . get_the_title() . "</h2>";
echo "</div>";
endwhile;
endif;
?>
Vòng lặp đầu tiên hiển thị tất cả các bài đăng trong một danh mục và thu thập id của bài đăng thành một mảng.
Vòng lặp thứ hai hiển thị tất cả các bài viết, ngoại trừ các bài đăng từ vòng lặp đầu tiên.