WordPressでブログを運営していて、記事の本文が終わったあとに、その記事を除いて最新記事を10件表示したいと思いました。
という訳で早速コードを書いて、実践してみました。
<ul> <?php $args = array( 'posts_per_page' => 10, 'post_status' => 'publish', 'post_type' => 'post', 'post__not_in' => array( $post->ID ) ); $query = new WP_Query( $args ); if ($query->have_posts()): while ($query->have_posts()) : $query->the_post(); ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php endwhile; ?> <?php endif; wp_reset_postdata(); ?> </ul>
ポイントとなるのは「post__not_in」ですね。ここに、現在表示している記事の投稿IDを除外する引数を設定しています。arrayで配列にしていますが、複数の投稿IDを設定できます。
最後に「wp_reset_postdata()」を忘れずに。
上記のコードをブログ記事本文が終わった後などに入れておくと、現在表示している記事を除いて最新記事を10件表示できますよ。