ฉันคิดว่ามันหนัก แต่เพื่อตอบคำถามเดิมของคุณฉันได้รวบรวม id โพสต์ทั้งหมดในอาร์เรย์ในลูปแรกและไม่รวมโพสต์เหล่านั้นจากลูปที่สองโดยใช้'post__not_in'ซึ่งคาดว่าอาร์เรย์ของรหัสโพสต์
<?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;
?>
ลูปแรกแสดงโพสต์ทั้งหมดในหมวดหมู่และรวบรวมโพสต์ไอดีลงในอาร์เรย์
ลูปที่สองแสดงโพสต์ทั้งหมดยกเว้นโพสต์จากลูปแรก