ブログの読者に対して、今読んでもらっているページの関連記事を記事下などに表示させたいときがあります。
今回はWordPressで、読んでいる記事と同じカテゴリーの記事を何件か取得して表示するときに使えるコードを紹介します。
関連記事として記事を並べるときなどに役立ちます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<?php // 同じカテゴリから記事を10件呼び出す $categories = get_the_category($post->ID); $category_ID = array(); foreach($categories as $category): array_push( $category_ID, $category -> cat_ID); endforeach ; $args = array( // 今読んでいる記事を除く 'post__not_in' => array($post -> ID), 'posts_per_page'=> 10, 'category__in' => $category_ID, // ランダムに記事を選ぶ 'orderby' => 'rand', ); $query = new WP_Query($args); if( $query -> have_posts() ): while ($query -> have_posts()) : $query -> the_post(); ?> <div class="post"> <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbnail'); ?></a> <h2 class="title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> </div> <?php endwhile; endif; ?> <?php wp_reset_postdata(); ?> <?php get_footer();?> |
まずは読んでいる記事が属しているカテゴリーのIDを取得し、$category_IDという変数に取得したカテゴリーIDを格納します。
次にWordPressのループで使用するパラメータを$argsに設定していきます。このなかで先程カテゴリーIDを入れた$category_IDも使われます。
最後に$argsを引数として投稿を繰り返し表示するループを作成します。
上記のコードですと、今読んでいる記事と同じカテゴリーの記事がランダムで10件表示されるかと思います。
これを「関連記事」として表示しておけば他のページにリンクしやすくなり、Webサイトの回遊性も高まりますね。
以上、WordPressで読んでいる記事と同じカテゴリーの記事を何件か取得して表示する方法でした。
それではまた!
SNSやブログを活用してお店や会社のファンを獲得するWebマーケティングのご要望にお応えします。