WordPressに関連記事をつけてみよう 〜実装〜
冷やし中華 始めました
ご無沙汰しています、@Tanin_326です。
WordPressの自作テーマに、関連記事を追加しました。
プラグインではなく、single.phpに直接コードを書いています。
手順としては、こんな感じです。
- 投稿のIDから、カテゴリを取得する
- カテゴリIDの一覧を作る
- WP_Queryで、カテゴリのリクエスト(投稿ID以外)を取得する
- カテゴリのリクエストを使って、関連記事を表示させる
- カテゴリのリクエストをクリアする(とても重要)
<?php $categories = get_the_category( $post->ID ); ?>
<?php if ( $categories ): ?>
<?php
$category_ID = array();
foreach ( $categories as $category ) {
array_push( $category_ID, $category->cat_ID );
}
$the_query = new WP_Query(
array(
'post__not_in' => array( $post->ID ),
'posts_per_page' => 4,
'category__in' => $category_ID,
'orderby' => 'rand',
)
);
?>
<section class="singlePage__related">
<?php if ( $the_query->have_posts() ): ?>
<h2 class="singlePage__subtitle">関連記事</h2>
<div class="related">
<?php while ( $the_query->have_posts() ): $the_query->the_post(); ?>
【ここに、関連記事の表示を書く】
<?php endwhile; ?>
</div>
<?php else: ?>
<p>関連記事はありません</p>
<?php endif; ?>
</section>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
以上、@Tanin_326でした。