【WordPress】複数ループの場合のthe_content()の扱いについて
「記事一覧を表示しているページでの特定カテゴリ記事の表示」など、複数のループが混在するページでは、
「the_content()で特定カテゴリの記事を表示しようとしたのに、その前のループのcontentを表示してしまう!」
など、WP初心者など慣れていない人がついついやってしまうミスがあります。
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<?php the_content();?>
<?php endwhile; ?>
<?php if(is_page(array(5)) ){ ?>
<?php $posts = get_posts('numberposts=100&order=desc&category=19');
foreach($posts as $post):?>
<div><?php the_title(); ?></div>
<div><?php echo get_post_meta($post->ID,'hoge',TRUE); ?></div>
<div><?php the_content();?></div>
<?php endforeach; ?>
<?php wp_reset_query(); ?>
<?php } ?>
これだと・・・二つ目のthe_content()が前のものを引き継いでしまっています。そこで・・・
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<?php the_content();?>
<?php endwhile; ?>
<?php if(is_page(array(5)) ){ ?>
<?php $posts = get_posts('numberposts=100&order=desc&category=19');
foreach($posts as $post):
setup_postdata($post); ?>
<div><?php the_title(); ?></div>
<div><?php echo get_post_meta($post->ID,'hoge',TRUE); ?></div>
<div><?php the_content();?></div>
<?php endforeach; ?>
<?php wp_reset_query(); ?>
<?php } ?>
とすることで、二つ目のthe_content()も正常に表示させることができました。
【WordPress】 複数ループの場合のthe_content()の扱いについて の関連記事
コメント
No comments yet
コメントする
次項 【WordPress】アイキャッチがない場合の有効化と使い方
前項 【EC-CUBE】で4200円以上送料無料だが、北海道だけ別にしたい
▲知識Z(ゼータ)トップへ