MENU

【WordPress】「single-work.phpに関連記事を表示させよう」

目次

【演習課題2】制作実績の詳細ページで表示している投稿と同じ制作ジャンルの記事を取得して関連記事として表示させてみる

ヒントを参考にしながら、自分なりに実装をしてみました!

 <?php
 $genre_terms = get_the_terms(get_the_ID(), 'genre');
 $genre_term = !empty($genre_terms) ? $genre_terms[0] : null;
?>
    <?php
   $related_query = new WP_Query(
    array(
        'post_type' => 'work',
        'posts_per_page' => 3,
        'post__not_in' => array($post->ID),
        'orderby' => 'rand',
        'tax_query' => array(
            array(
                'taxonomy' => 'genre',
                'field' => 'slug',
                'terms' => $genre_term->slug,

            ),
        ),
    )
);

$genre_termを定義する

記事のジャンルを取得するコードを追加します!

$genre_terms = get_the_terms(get_the_ID(), 'genre');

これを記述することで、「ジャンル」タクソノミーのすべてのタームを取得できるようにします。

$genre_term = !empty($genre_terms) ? $genre_terms[0] : null;

$genre_termsの中に、「ジャンル」というものがあるかどうかわかりません。

!empty($genre_terms)は、「ジャンル」が入っているか確認するために記述します。

「ジャンル」が入っていたら、$genre_termに代入しますと言う意味になります。

 $genre_terms[0] : null

逆に、$genre_termsの中に何も入っていなかったら、$genre_termに何も代入しませんと言うことを記述しています!

もらったヒントを参考にしつつ公式リファレンスを参考にする

ここまで学習されてきた方だとなんとなく書いてあることがわかってきましたよね☺️

  <?php
   $related_query = new WP_Query(
    array(
        'post_type' => 'work',
        'posts_per_page' => 3,
        'post__not_in' => array($post->ID),
        'orderby' => 'rand',
        'tax_query' => array(
            array(
                'taxonomy' => 'genre',
                'field' => 'slug',
                'terms' => $genre_term->slug,

            ),
        ),
    )
);

$related_queryは、一般的な変数名で開発者が自由に名前を決めることができるため、決まっている訳ではありません。

記述できたら、関連記事が表示されていると思います!!

お疲れ様でした✨

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

webスキルを学習中のひろみです。教員を目指し大学に進学するも、犯罪学に興味を持ち、大学卒業後はお金貯めて公務員の予備校に1年通いました。そして、法務省の専門職員として4年在籍し、2024年に退職しました。30歳1児の母です。大好きなのは、ビール、牛タン、旅行です。教員免許、ビジネス実務マナー技能検定1級所持。

コメント

コメント一覧 (2件)

  • デイトラのDAY13-14 演習課題: single.phpに関連記事を表示させる の課題を調べていてこのブログに辿り着きました。私も二児の母で仕事に家事に子育てに日々時間がない中なんとか時間を捻出してここまで勉強してきました。こんなにも丁寧にアウトプットしていて素晴らしいと思います。ついコメントしてしまいました。これからも応援しています!一緒に頑張りましょう^^

    • もいさん!!
      嬉しいコメントありがとうございます‍♀️
      自己満で始めたブログですが、こんな嬉しい日が来るなんて思いもしなかったです
      お子さん2人育てながら、仕事家事育児学習、本当頭が上がりません‍♀️
      いっそう、私も頑張らないとと思いました!!
      この度は、コメントありがとうございます☺️⭐️

コメントする

目次