Я показываю ленту сообщений, некоторые из которых используют одно и то же фоновое изображение. Я хотел бы найти и спрятать дубликаты.
ПОЛНЫЙ КОД:
<?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>
Я не вижу, где происходит зацикливание. Но ответ бедного человека состоит в том, чтобы отследить 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
}
?>
Других решений пока нет …