Intereting Posts
Как получить роль пользователя Почему мой shortcode не работает is_home () возвращает true, пока он не должен Как изменить ограничение размера загружаемого файла в однопользовательской установке WordPress? Как создать «виртуальную» страницу в WordPress Архивировать-Custom-Post-Type заказ по дате события, ASC и скрыть события, которые завершили Обнаружить изображение среди прикрепленных изображений Как получить значения метаданных – WP tuts tutorial Как получить массив пользовательских ролей с определенными возможностями или без них? Добавить содержимое в заголовок виджета в области администратора внутри виджета? Как сделать главный экран моего блога не показывать полные сообщения? Неправильная каноническая ссылка на страницах wp-admin показывать персонализированные сообщения категорий из настраиваемого типа сообщений Журнал изменений в блоге Custom post type permalink: используйте только% post_id% и удалите% postname%

Как избежать дублирования при создании последних сетевых сообщений

Я использую этот код, чтобы получить список настраиваемых сообщений (с настраиваемыми полями) из сети для отображения в php-виджетах. Он старый, но он работает нормально:

<?php switch_to_blog(4); ?> <?php $ca = new WP_Query(array('post_type' => 'conference_announcem', 'order' => 'DESC', 'posts_per_page' => '-1')); if ($ca->have_posts()): while( $ca->have_posts()): $ca->the_post(); ?> <p align="left" class="style2"> <a href="<?php echo apply_filters('site_permalink_rewrite', get_permalink()); ?> "><strong><?php the_title(); ?></strong></a> <?php if(get_field('front_page_text')) { echo '<br><strong>' . get_field('front_page_text') . '</strong>'; } ?> <?php endwhile; ?> <?php else: ?> <p><strong><?php _e('There are no conference announcements.'); ?></strong></p> <?php endif; ?> <?php restore_current_blog(); ?> <?php switch_to_blog(2); ?> <?php $ca = new WP_Query(array('post_type' => 'conference_announcem', 'order' => 'DESC', 'posts_per_page' => '-1')); if ($ca->have_posts()): while( $ca->have_posts()): $ca->the_post(); ?> <p align="left" class="style2"> <a href="<?php echo apply_filters('site_permalink_rewrite', get_permalink()); ?>"><strong><?php the_title(); ?></strong></a> <?php if(get_field('front_page_text')) { echo '<br><strong>' . get_field('front_page_text') . '</strong>'; } ?> <?php endwhile; ?> <?php else: ?> <p><strong><?php _e('There are no conference announcements.'); ?></strong></p> <?php endif; ?> <?php restore_current_blog(); ?> <?php switch_to_blog(3); ?> <?php $ca = new WP_Query(array('post_type' => 'conference_announcem', 'order' => 'DESC', 'posts_per_page' => '-1')); if ($ca->have_posts()): while( $ca->have_posts()): $ca->the_post(); ?> <p align="left" class="style2"> <a href="<?php echo apply_filters('site_permalink_rewrite', get_permalink()); ?>"><strong><?php the_title(); ?></strong></a> <?php if(get_field('front_page_text')) { echo '<br><strong>' . get_field('front_page_text') . '</strong>'; } ?> <?php endwhile; ?> <?php else: ?> <p><strong><?php _e('There are no conference announcements.'); ?></strong></p> <?php endif; ?> <?php restore_current_blog(); ?> 

Я переключаюсь с блога на блог, собираю список сообщений для отображения. Моя проблема в том, что некоторые сообщения публикуются в нескольких блогах, поэтому, естественно, я получаю дубликаты. Каков наилучший способ рассказать об этом скрипте «Если это дубликат, не отображать его»? Я уверен, что есть много способов сделать это, но я надеялся, что у кого-то здесь будет хорошее предложение для чего-то довольно быстрого и простого (без плагина). Спасибо за любую помощь.

Solutions Collecting From Web of "Как избежать дублирования при создании последних сетевых сообщений"

РЕШЕНИЕ:

я добавил

 $titles = array(); 

вверху (вне цикла).

Затем, в пределах цикла, я использовал

 array_push( $titles, get_the_title( $ID ) ); 

для сбора названий.

Затем я просто проверил массив для соответствующего заголовка перед отображением, например:

 if ( !in_array(get_the_title( $ID ), $titles ) ) ...then do this 

И это работает!