同タグの関連記事を表示したい

  • このトピックには3件の返信、2人の参加者があり、最後にすずにより6年前に更新されました。
3件の返信スレッドを表示中
  • 投稿者
    投稿
    • #2102
      すず
      ゲスト

      お世話になっております。

      「関連記事」についてなのですが、本文と同じ「カテゴリ」の記事を”ランダム”表示させるだけではなく、本文と同じ「タグ」の記事を”ランダム”、または新着エントリー順”に表示(本文記事は除外)する、方法も選択可能になりませんでしょうか。

      今まで自己カスタマイズによってタグ関連記事を表示させておりましたが、元々phpには疎く、検索して見つけたソースをコピペしたらたまたま表示されてる状態でして、運用を続けるにあたって不安があります。

      ご教授頂けるとありがたいです。よろしくお願いいたします。

      • このトピックはわいひらわいひらが6年前に変更しました。
    • #2117
      わいひらわいひら
      キーマスター

      「関連記事」についてなのですが、本文と同じ「カテゴリ」の記事を”ランダム”表示させるだけではなく、本文と同じ「タグ」の記事を”ランダム”、または新着エントリー順”に表示(本文記事は除外)する、方法も選択可能になりませんでしょうか。

      カスタマイズ方法のフォーラムに書き込まれておられるので、カスタマイズ方法を紹介します。
      ちょっとこれから用事があるので、とりあえずはタグで関連記事を表示する方法のみです。
      タグで関連記事を取得するには、popular-entries.php(必要ならrelated-entries-thumbnail.phpも)の以下の部分を

      //カテゴリ情報から関連記事を呼び出す
      $categories = get_the_category($post->ID);
      $category_IDs = array();
      foreach($categories as $category):
        array_push( $category_IDs, $category -> cat_ID);
      endforeach ;
      $args = array(
        'post__not_in' => array($post -> ID),
        'posts_per_page'=> intval(get_related_entry_count()),
        'category__in' => $category_IDs,
        'orderby' => 'rand',
      );

      次のように変更する必要があります。

      //タグ情報から関連記事を呼び出す
      $tags = wp_get_post_tags($post->ID);
      $tag_IDs = array();
      foreach($tags as $tag):
        array_push( $tag_IDs, $tag -> term_id);
      endforeach ;
      $args = array(
        'post__not_in' => array($post -> ID),
        'posts_per_page'=> intval(get_related_entry_count()),
        'tag__in' => $tag_IDs,
        'orderby' => 'rand',
      );

      新着順で呼び出す方法は後で書きます。

    • #2173
      わいひらわいひら
      キーマスター

      新着順に表示するには、「’orderby’ => ‘rand’,」部分をコメントアウトすればOKです。

      //カテゴリ情報から関連記事を新着順に呼び出す
      $categories = get_the_category($post->ID);
      $category_IDs = array();
      foreach($categories as $category):
        array_push( $category_IDs, $category -> cat_ID);
      endforeach ;
      $args = array(
        'post__not_in' => array($post -> ID),
        'posts_per_page'=> intval(get_related_entry_count()),
        'category__in' => $category_IDs,
        //'orderby' => 'rand',
      );
    • #2201
      すず
      ゲスト

      ご返答いただきありがとうございます。
      早速popular-entries.phpを変更し、動作確認できました。

3件の返信スレッドを表示中
  • トピック「同タグの関連記事を表示したい」には新しい返信をつけることはできません。
スポンサーリンク
アドセンス(大)
アドセンス(大)