他人の日記

楽をするために必死になる

WordPressに関連記事をつけてみよう 〜実装〜

冷やし中華 始めました

ご無沙汰しています、@Tanin_326です。

WordPressの自作テーマに、関連記事を追加しました。

プラグインではなく、single.phpに直接コードを書いています。

手順としては、こんな感じです。

  1. 投稿のIDから、カテゴリを取得する
  2. カテゴリIDの一覧を作る
  3. WP_Queryで、カテゴリのリクエスト(投稿ID以外)を取得する
  4. カテゴリのリクエストを使って、関連記事を表示させる
  5. カテゴリのリクエストをクリアする(とても重要)
    <?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でした。

«
»