最新の記事や関連記事をお探しの方は下の「サイト内検索」で検索してみてください。
以前にWordPress Popular Postsを使って記事の閲覧数を表示するというのを書きましたが、今回は記事が属するカテゴリーの人気記事を表示するというのをやってみます。
ショートコードを記事に埋め込む
WordPress Popular Posts にはショートコードが設定されているのでそれを使って記事の本文中にランキングを入れることができます。
1 |
[wpp cat="<カテゴリーID>" limit="5" range="all"] |
というのを本文中にいれるとその場所に全期間を通じた記事ランキング上位5件が表示されます。
件数を変更するには limit
のところの数字を変更します。例えば上位3件にしたいときは limit=3
となります。
集計対象期間を変更するにはrange
のところを変更します。選択肢はいくつかあって、過去30日の場合はlast30days
, 過去7日の場合はlast7days
、過去24時間の場合はlast24hours
といった感じです。全期間を通しての場合はall
です。
他に該当の期間中に公開した記事だけを対象にしたランキングにしたい場合はfreshness=1
を追加します。そうするとその期間内に公開された記事での人気記事ランキングとなります。
テンプレートにPHPコードを追加する
記事ページのテンプレートファイルsingle.php
に以下のようなphpコードを埋め込むと自動的にその記事のカテゴリーの人気記事ランキングを生じします。
記事に複数のカテゴリーが設定されている場合はそれぞれのカテゴリーごとの人気記事ランキングを表示します。
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $post_categories = get_the_category(); foreach ($post_categories as $category): $args = array( 'cat' => $category->term_id, 'limit' => 5, 'range' => 'all', ); echo '<h4>カテゴリー:<a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a>の人気記事ランキング</h4>'; wpp_get_mostpopular($args); endforeach; ?> |
こちらも集計対象期間や表示件数などの変更が可能です。
phpコードを入れる箇所は endwhile
よりも手前に入れる必要がありますので、そこだけご注意ください。
最後に
ショートコードを使うほうほうとテンプレートファイルに埋め込む方法の2つを紹介しましたがどちらがいいかと聞かれたら私はテンプレートファイルに埋め込む方を選びますね。
いちいちショートコードを本文中に入れる必要はないですし勝手にランキング表示してくれるのでそのほうがよさそうだと思います。
ただ、phpコードがわかってテーマのカスタマイズができる人という前提があるので、そうでないひとはお手軽なショートコードバージョンでもよいかとおもいます。
テンプレートに入れる場合の表示内容をカスタマイズ(サムネイルの表示とか)はまた次の機会にご紹介します。
ちなみにカテゴリーのIDは管理画面の 投稿>カテゴリー からカテゴリーの編集画面を開いたときのURL(/wp-admin/term.php?taxonomy=category&tag_ID=56&post_type=post&...
)に含まれる tag_ID=56 の数字の部分(この例だと 56)になります。