WordPressのsingle.php内でquery_postsを利用する際の注意事項

harada 449views 更新:2014年9月30日

WordPressのsingle.php内でquery_postsを利用する際の注意点です。

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
~エントリー内容~
<?php endwhile; else: endif; ?>

こちらのエントリー内容でさらに最新の記事リストなどを出したい場合はかならず、 wp_reset_query();を付ける必要があります。

<?php 
query_posts("author=".get_the_author_meta( 'id' )."&showposts=3"); ?>
<?php if(have_posts()):while(have_posts()):the_post();?>
<li><i class="icon-li icon-angle-right hidden-phone"></i><a href="<?php the_permalink();?>"><?php the_title();?><span class="date"><?php printf( __( '%1$s', 'buddypress' ), get_the_date() ); ?></span></a></li>
<?php endwhile; endif; wp_reset_query(); ?>

wp_reset_query(); がないと処理中にエラーが出てしまい、ページを表示することもできなくなってしまう恐れがありますので注意が必要です。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません