Обнаружение элементов с одинаковым значением фонового изображения и удаление

Я показываю ленту сообщений, некоторые из которых используют одно и то же фоновое изображение. Я хотел бы найти и спрятать дубликаты.

ПОЛНЫЙ КОД:

 <?php
$args=array(
'cat' => '1',
'post_status' => 'publish',
'post_type' => 'post',
'posts_per_page' => 10,
'taxonomy' => 'postkicker',
'term' => 'vote',
'orderby'    => 'date',
'order'      => 'DESC'
);

$my_query = new WP_Query($args);

if ( $my_query->have_posts() ) :
while ( $my_query->have_posts() ) : $my_query->the_post();

$src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID),  array( 284,110 ), false, ''  );

?>

<div class="divider-left">
<a class="img-thumbnew" href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
<div style="background-image: url(<?php echo $src[0]; ?> );"></div>
</a>
</div>

1

Решение

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

<?php
$srcs_seen = array();
while ( // looping over stuff ) {

$src = wp_get_attachment_image_src(
get_post_thumbnail_id($post->ID),  array( 284,110 ), false, ''
);

// keep looping but stop here if we've seen it
if (in_array($src['url'], $srcs_seen)) continue;
$srcs_seen[] = $src['url'];

// print html like you were doing
}
?>
1

Другие решения

Других решений пока нет …