Как исключить из цикла wordpress последние 3 добавление поста?
Есть блог, все записи выводятся хорошо, но в шаблоне два цикла первый отвечает за слайдер постов "ПОСЛЕДНИЕ ЗАПИСИ", здесь все просто я вывожу посты через "posts_per_page" и вывожу кол-во нужное.
А вот во втором цикле мне надо исключить отображение постов которые есть в слайдере, потому что так получается слайдер бесполезен, дублирование происходит. Решение с категориями не походит, не очень удобно получается, гуглил не спорю может как то не правильно гуглил, на даже приблизительно не нашел то что мне нужно.Так же нашел инструкцию про "OFFSET", но почему то не работает, думаю из-за того что у меня посты подгружаются из второго цикла по кнопке "More" через AJAX . Думаю что кто-нибудь сталкивался с такой проблемой уже, может решение и простое, но я не понимаю как это сделать, так что строго не судите )) Всем хорошего дня.
Михаил Иванов, если вы делаете запрос на action со вторым циклом, вам нужно будет их получать каждый раз, это естественно. Не ясно как вам это мешает.
function ajax_action_handler() {
$posts_to_exclude = ... // здесь получаете ID ненужных постов
$posts = get_posts(array( 'exclude' => $posts_to_exclude ) );
wp_send_json( $posts );
}
Как бы у вас не была устроена AJAX подгрузка вы же исполняете втроой цикл, а значит ничто не мешает вам перед его исполнением получить список ненужных постов. Да и offset в вашм случае по такой же схеме мог сработать, список просто позволяет исключить самые разнообразные посты.
Илья Ростопка, Спасибо вам) Простите за мое не понимание, я все равно не могу понять как отловить ID ПОСТА, как сюда должны они попадать ?)Как то же все автоматом получается присваивается id к постам)
$posts_to_exclude = ... // здесь получаете ID ненужных постов
Михаил Иванов, любым способом, тем же WP_Query или get_posts().
ID уже присвоены к постам, вам лишь нужно получить массив этих ID, либо напрямую используя WP_Query либо из массива постов с get_posts().
Опять же, в ваше случае достаточно будет предустановленного offset-a, с 'exclude' и массивом ID для более сложных случаев, где нужно не выводить определенные посты, а не просто обрезать первые N постов.