【WordPress】プラグイン[WP-PostViews]でカテゴリごとに人気記事を表示する方法
WordPress2016年11月21日
WordPressのプラグイン[WP-PostViews]を使用して、カテゴリごとの人気記事を表示する方法をご紹介いたします。
これまでもサイドバーとブログトップでブログ全体の人気記事を表示していたのですが、カテゴリトップではカテゴリごとの人気記事を表示させる仕様に変更しようと思い、カテゴリテンプレートに修正を加えました。
サンプルコード
<ul>
<?php $cat = get_the_category();$catids = "";
foreach( $cat as $catid){
$catids .= $catid->cat_ID.",";
};
$posts = get_posts(array(
'posts_per_page' => 6,//表示件数
'meta_key' => 'views',
'orderby' => 'meta_value_num',
'category' => $catids,
));?>
<?php foreach($posts as $post) : ?>
//ループさせたいhtmlを記述(WordPressのテンプレートタグも使用可能)
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach;wp_reset_postdata(); ?>
</ul>
解説
変数$catにカテゴリIDを格納して、これをループで回して訪問数の多い順に出力しています。
'posts_per_page'の値を変えることで、表示件数をコントロールすることも可能です。
ご紹介しているサンプルコードはパーマリンクと記事タイトルのみを出力する簡易なものになりますが、カスタマイズすることで投稿日付やアイキャッチなども表示することができます。
Web屋の芝生DIYでは以下のソースコードで、大見出しとアイキャッチ、投稿日付を表示するようにしています。
<h2 class="hdg-l2-01"><span>カテゴリー「<?php $category = get_the_category();echo $category[0]->cat_name;?>」の人気記事</span></h2>
<ul class="list-link-thum">
<?php $cat = get_the_category();$catids = "";
foreach( $cat as $catid){
$catids .= $catid->cat_ID.",";
};
$posts = get_posts(array(
'posts_per_page' => 6,
'meta_key' => 'views',
'orderby' => 'meta_value_num',
'category' => $catids,
));?>
<?php foreach($posts as $post) : ?>
<li><a href="<?php the_permalink(); ?>"><span class="date"><?php the_time('Y年n月j日'); ?></span><span class="txt"><?php the_title(); ?></span><?php if ( has_post_thumbnail() ) : ?><?php $img_id = get_post_thumbnail_id();$img_thumbnail = wp_get_attachment_image_src( $img_id , 'thum300' );echo '<img width="80" height="80" src="'.$img_thumbnail[0].'" alt="">';?><?php else: ?><?php endif; ?></a></li>
<?php endforeach;wp_reset_postdata(); ?>
</ul>
サムネイルの表示については以下の記事をご参考にしていただければ幸いです。
まとめ
Web屋の芝生DIYでのブログでは様々なテーマを取り扱っているため、検索結果から訪問したユーザーが他の記事もお読みいただける確率を高めたいという狙いもあり、今回カテゴリごとの人気記事を表示する機能を実装しました。
カテゴリテンプレートへの表示方法として今回ご紹介させていただきましたが、個別記事のテンプレートでもそのまま使用することが可能です。
プラグイン[WP-PostViews]を使用してカテゴリごとの人気記事を表示する際は、ぜひ本記事をご参考にしていただければ幸いです。
この記事を読んでいる方にオススメの記事
- ※承認制のため、即時には反映されません。
この記事にコメントする