ワードプレス

「WordPress Popular Posts」で、見ている記事と同じカテゴリーの人気記事を表示させる方法

  • このエントリーをはてなブックマークに追加

さて、今日は以前紹介した「WordPress Popular Posts」の応用した使い方を伝授します。
この前はただランキングを表示するだけでしたが、「記事毎に表示するランキングを変えたい!」という声もチラホラ。

そこで今回は、今見ている記事と同じカテゴリーの記事ランキングを表示する方法です。

重要なのは、カテゴリーを取得すること

これだけです。カテゴリーIDを取得し、それごとの表示にしてあげるようパラメーターを追加するだけ。
早速ソースコードを見てみましょう。

カテゴリ別記事ランキングを表示するためのソース

ソースってこれじゃないですよ。

KAGOMEウスターソース

こっちです。

<?php if (is_single() || is_category()) :?>
<?php
$cat_now = get_the_category();
$cat_now = $cat_now[0];
$now_id = $cat_now->cat_ID; 
?>
<div class="widget_categories side-widget">
<div class="side-widget-inner">
<h4 class="side-title"><span class="side-title-inner">「<?php the_category(', ') ?>」カテゴリの人気記事</span></h4>
<!-- wppカスタマイズランキング -->
<?php
 $wpp = array (
 'range' => 'monthly', 
 'limit' => 5, 
 'post_type' => 'post', 
 'title_length' => '25', 
 'stats_comments' => '0', 
 'stats_category' => '1', 
 'stats_views' => '1', 
 'cat' => $now_id,
 'thumbnail_width' => '90', 
 'thumbnail_height' => '90', 
 'wpp_start' => '<div id="rank">',
 'wpp_end' => '</div>',
 'post_html' => '<div class="rank-post">
<a href="{url}">
<div class="rank-img">{thumb_img} </div>
<div class="rank-text">
<h5>{text_title}</h5>
<div class="rank-spec">
<span class="cat">{category}</span>
</div>
</div>
</a>
</div>', 
); ?>
<?php wpp_get_mostpopular($wpp); ?>
<!-- wppカスタマイズランキング -->
</div><!--/side-widget-inner-->
</div><!--/widget_categories side-widget-->
<?php endif; ?>

前回との違いは、

  1. 1行目から6行目を追加
  2. 9行目のタイトル
  3. 20行目のパラメーター追加
  4. 41行目の追加
です。

簡単に追加・修正コードの解説を。

1行目

これは以前紹介したコードにあっても問題ありません。
意味は「もし、記事ページまたはカテゴリーページだったら」って感じです。
その場合にしか表示しないよってことですね!固定ページやトップページには表示させたくないときとかに使います。

2行目から6行目

ここが重要なカテゴリーIDの取得コードです。
これがないとカテゴリー毎の処理ができなくなります。

9行目のタイトル

カテゴリー毎のランキングだということがわかるように「」を使ってタイトルを表示。
“「WordPress」カテゴリの人気記事”のように表示されます!

20行目のパラメーター追加

ランキング作成のパラメーターにカテゴリー情報を追加します。
ここに固定のカテゴリーIDを入れれば、どのページでもそのカテゴリーの記事ランキングが表示されるようになります。

ただ今回はカテゴリー毎に表示を変えたいので、動的に処理できるようphp変数を使っています。

41行目の追加

1行目で「もし~」って宣言しているので、「ここで終わるよ」ってことを伝えるためのコードです。
これがないとエラー(fatal error)が発生します。

ifを使ったら、必ずendifで終わってくださいね!

まとめ

いかがでしたでしょうか。
自分がユーザーになったとして、興味のないカテゴリーの記事ランキングなんてどうでも良いですよね。
「福井の会社・お店」の記事を読んでいるのに、ランキングには「Web制作」の記事ばかり。
それではあんまりです!もっと優しくしてください!!!

参考にして頂けると嬉しいです!(‘◇’)ゞ

  • このエントリーをはてなブックマークに追加

  関連記事

コメントを残す

*

CAPTCHA