よくいろんな人のブログをみていると、「関連した記事」とか「おすすめの記事」とか名前がついて
そのブログと関連のあるような記事一覧が記事の一番下に設置されています。
結構ブログを読むにあたってすごく助かるし、わかりやすい。
それを今回はワードプレスでやるときの方法を備忘録として残しておこうと思います。
では早速ソースから!
めちゃ簡単です✨
おすすめの記事に同じタグをもつ記事一覧を出力する方法
<?php
$tags=wp_get_post_tags($post->ID, array('orderby'=>'rand'));
if($tags):
?>
<?php
$tag_id=$tags[0]->term_id;
$args=array(
'tag__in'=>array($tag_id), // 同タグの記事を取得するよ
'post__not_in'=>array($post->ID),// 現在表示中の記事は除く
'showposts'=>5,// 記事数 -1にすると全記事表示
'caller_get_posts'=>1,// 取得した記事の何番目から表示するか
);
//wp_query
$my_query=new WP_Query($args);
if($my_query->have_posts()):
?>
<!-- ここからは単純に記事をまわすループ -->
<ul>
<?php while($my_query->have_posts()): $my_query->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail("side_thumbnails"); ?>
<?php the_title(); ?>
</a>
</li>
<?php endwhile; ?>
</ul>
<?php endif; wp_reset_query(); endif;?>
これで同タグの記事はサクッと取得できます。
コピペして使えるはず!
特定のタグに属する記事一覧を呼びたしたい場合
<?php $my_query = new WP_Query('tag_id=10'); ?>//tagのIDをここに指定
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
<?php $my_query = new WP_Query('tag_id=10'); ?>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
これで完了!サクッと解決ですね★
はじめまして。
紹介されていたコード参考にさせていただきました。
ありがとうございます。
そのうえで、ご質問なのですが、
「共通するタグの数が多い順」に記事を並び替えるには、
どのようにすればよいでしょうか?
もしよろしければ、教えていただけますと幸いです。
よろしくお願い致します。