Intereting Posts
Удаленное подключение к базе данных и локальная разработка Конвертировать многопользовательскую WordPress в единый сайт Как преобразовать заголовок страницы в нижний регистр? Добавление инструкции if в значение_content () Как использовать get_results () в интерфейсе виджета? WordPress Multisite локальный: wp-login.php обновляется при входе в браузер Chrome Browser Повторная скинировка сайта Как управлять выходом пользовательского типа сообщений без изменения темы? Портфолио и совместное использование блога: несколько файлов single.php? Создание правила перезаписи для s-secec-post-запросов из предоставленной формы? Мой сайт wordpress автоматически перенаправляется на старый сайт для любого известного решения для этого? Иерархические постоянные ссылки для пользовательских типов сообщений и таксономии Как назначить функции пользователю НЕ роли пользователя Loop – как получить предыдущий / следующий пост для первого / последнего сообщения? WordPress на Ubuntu 12.10: проблема с постоянными ссылками

Можно ли утверждать, что «статья уже появляется на странице»?

Лучший пример:

Титульная страница. Я хочу, чтобы на главной странице был показан раздел. Если пост «Наука» входит в мои Избранные, я не хочу, чтобы он также показывался в разделе «Наука» на той же странице.

Могу ли я как-то заявить об этом? Например: «Если the_post уже появился, не перечислить»?

Я хотел бы добавить это к отображению другой категории в виде разделов на этой странице, поэтому публикация с категорией «Наука и здоровье» просто отображается на одном.

Спасибо за любые советы или если у вас есть этот.

J

Solutions Collecting From Web of "Можно ли утверждать, что «статья уже появляется на странице»?"

Вы можете просто построить массив записей идентификаторов из циклов, а затем просто исключить эти сообщения из следующего набора запросов

Я не знаю вашей точной структуры, но вот очень простая идея ( требуется PHP5.4 + из-за синтаксиса короткого массива ( [] ), для более старых версий, вернуться к синтаксису старого массива ( array() ) )

 // Define the variable to hold posts $remove_duplicates = []; // define and run our first query $args1 = [ // All your arguments for this query ]; $loop1 = new WP_Query( $args1 ); if ( $loop1->have_posts() ) { while ( $loop1->have_posts() ) { $loop1->the_post(); // Build our array of ID's to exclude from other query $remove_duplicates[] = get_the_ID(); // Rest of your loop } wp_reset_postdata(); // VERY VERY IMPORTANT } // Define our second query and exclude posts from the first $args2 = [ 'post__not_in' => $remove_duplicates, // Remove posts from from $loop1 // All your arguments for this query ]; $loop2 = new WP_Query( $args2 ); if ( $loop2->have_posts() ) { while ( $loop2->have_posts() ) { $loop2->the_post(); // Rest of your loop } wp_reset_postdata(); // VERY VERY IMPORTANT }