まず、コードは次のとおりです。
<?php
$categories = get_categories();
foreach ($categories as $cat) { if ($cat->count >= 4) { ?>
<section class="home-section row">
<div class="large-12 columns">
<h3 class="ug-home-title"><span><?=$cat->name;?></span></h3>
<div class="row">
<div class="large-6 columns">
<?php
$args = array(
'post_type' => 'post',
'category_name' => $cat->name,
'posts_per_page' => 1
);
$query = new WP_Query($args);
while ($query->have_posts()) : $query->the_post();
?>
<article class="ug-panel">
<ul class="ug-tag-list">
<?php
$post_categories = wp_get_post_categories( $post->ID );
foreach ($post_categories as $c) {
echo '<li><a href="'.get_category_link( get_cat_ID(get_category( $c )->name) ).'">'.get_category( $c )->name.'</a></li>';
}
?>
</ul>
<?php (has_post_thumbnail()) ? the_post_thumbnail() : displayBackupImage(); ?>
<footer class="ug-panel-inner">
<p><em><?= 'il y a '.human_time_diff( get_the_time('U'), current_time('timestamp') ); ?></em></p>
<h4><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h4>
</footer>
</article>
<?php endwhile; wp_reset_postdata()?>
</div>
<div class="large-6 columns">
<ul class="ug-article-list">
<?php
$args = array(
'post_type' => 'post',
'category_name' => $cat->name,
'posts_per_page' => 3,
'offset' => 1
);
$query = new WP_Query($args);
while ($query->have_posts()) : $query->the_post();
?>
<li>
<article class="clearfix">
<a href="<?php echo get_permalink(); ?>" class="left picture">
<?php (has_post_thumbnail()) ? the_post_thumbnail() : displayBackupImage(); ?>
</a>
<h5><a href="<?php echo get_permalink(); ?>"><?php the_title(); ?></a> <br><small>publié il y a <em><?= human_time_diff( get_the_time('U'), current_time('timestamp') ); ?></em></small></h5>
</article>
</li>
<?php endwhile; wp_reset_postdata();?>
</ul>
</div>
</div>
</div>
</section>
<hr class="home-hr">
<?php }} ?>
ご覧のとおり、最初に 4 つ以上の投稿を含むカテゴリ用の単純な foreach ループがあります。次に、2 つの異なるカスタム クエリを使用して、これらの投稿をコード内の 2 つの異なる場所に表示しています。
これは完全に機能しますが、何らかの理由で、投稿が含まれているにもかかわらず、一部のカテゴリでは必ず失敗します。その理由はわかりません. 出力を確認できるように、スクリーンショットを添付しました。
どんな答えでも大歓迎です。
編集:投稿が同時に 2 つのカテゴリに属している場合に発生するように思われます.おそらく競合ですか? 私は本当にここで途方に暮れています。
編集 2:いいえ、それとは何の関係もありません。一部のカテゴリでは、同じ投稿が 2 回表示されます...