Я предполагаю, что это было тяжело, но чтобы ответить на ваш исходный вопрос, я собрал все идентификаторы постов в массиве в первом цикле и исключил эти посты из второго цикла, используя '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;?>
Первый цикл отображает все сообщения в категории и собирает идентификаторы сообщений в массив.
Во втором цикле отображаются все сообщения, кроме сообщений из первого цикла.
Вы знаете, есть правки для исправления опечаток :)
kaiser
@ Зики запятая в массиве не является опечаткой, это правильный синтаксис PHP, если это то, что вы имеете в виду.
leonziyo
1
@leonziyo - нет, у него изначально были «posts__not_in» вместо «post__not_in», смотрите историю его ответа. Кома в порядке
Зики
9
Вы должны определить post__not_inarg как массив. Даже для одного значения. И, пожалуйста, не перезаписывайте глобальные переменные ядра временными данными.
Параметр, который вы ищете, - это
post__not_in
(в ответе кайзер опечатка). Таким образом, код может быть таким:WP_Query post__not_in документация
источник
Вы должны определить
post__not_in
arg как массив. Даже для одного значения. И, пожалуйста, не перезаписывайте глобальные переменные ядра временными данными.источник
Альтернативные коды;
Исключить сообщения категории
Удалить сообщения с домашней страницы
источник