Hallo zusammen,
wie man grundsätzlich Duplikate von Beiträgen in mehreren Loops vermeidet ist mir dank diverser Tipps klar. Im Normalfall funktioniert das auch gut, in meinem etwas speziellen Fall aber nicht 100%ig.
Ich habe insgesamt drei Loops. "Probleme" macht nur der dritte Loop, weil hier jeweils eine Kategorieüberschrift zum Beitrag als Link bereits VOR dem Loop ausgegeben wird.
<div id="rightcol">
<?php
$display_categories = explode(",",$prinz_homecats);
for ($x = 0; $x < sizeof($display_categories); ++$x) {
?>
<?php
query_posts("showposts=$prinz_homecatsnumber&cat=".current($display_categories)."");
$wp_query->is_category = false;
$wp_query->is_archive = false;
$wp_query->is_home = true;
?>
<?php // Name and link of each category headline gets printed ?>
<h3><a href="<?php echo get_category_link(current($display_categories));?>">
<?php single_cat_title(); ?>
</a></h3>
<div class="clearfloat">
<?php next($display_categories); ?>
<?php while (have_posts()) : the_post(); ?>
<?php $do_not_duplicate[] = $post->ID; // IDs im Loop merken ?>
<h2><a href="<?php the_permalink() ?>" rel="bookmark">
<?php // this is where title of the article gets printed
the_title(); ?>
</a></h2>
<?php // This will show the image and link the image to the post. Alter the width and height (in both places) to your needs. ?>
<?php postimage(112,150); ?>
<?php the_excerpt() ; ?>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
Alles anzeigen
Der Effekt ist, dass zwar der Beitrag aus der Kategorie (sofern er bereits weiter oben im ersten Loop ausgegeben wurde) nicht angezeigt wird, die Kategoriebezeichnung als Link aber schon. Klar, weil die ja bereits vor dem Loop ausgegeben wird.
Natürlich will ich aber auch die Überschrift nicht ausgeben. Noch besser wäre es natürlich, wenn dann der nächste Beitrag aus der Kategorie angeziegt würde.