「WordPress Popular Posts」でランキングを好きなように表示させるシンプルなやり方

WordPressで、記事の閲覧数ランキングを表示させるときに便利なプラグイン「WordPress Popular Posts(以下WPP)」。

そのままウィジェットに突っ込めばランキング表示できるし、設定もいろいろできるしすごく良いですよね。

ところが、表示の仕方をカスタマイズしたり、もっと好きな場所に好きなように表示させたいとなった場合、何やら関数を作ったりフックを使ったりしなきゃいけないようで初心者にはちょっとつらい。

というわけで、初心者向けに超シンプルにフルカスタマイズできる方法をご紹介します。




実装

考え方は至ってシンプル。

①ランク順に「記事ID」を取得
②記事IDをもとに、WP_Queryで普通にまわす

めっちゃ簡単にできそうでしょ!?

できます。
やっていきましょう。

記事IDを取得

こんな感じです。

$wpp_optionでは、表示オプションを配列にしてやります。

WPPで使えるオプションは、「設定→WordPress Popular Posts→パラメーター」から確認できます。

これで、”$wpp_query_ids”に、1~5位までの記事のIDが配列で格納されました。

あとは、この配列を使って、WP_Queryで記事を表示させます。

普通にループ

おなじみのやつですが、“orderby => post__in”の部分がポイント。

ランクとか、閲覧数も表示させたい!

WPPを仕様通り表示させると、簡単に閲覧数やランクを表示させることができますが、今回はIDだけ拾ってあとは普通のループに任せちゃってるので、表示させられないじゃん…

しかしご安心ください。いけます。

閲覧数の表示

wpp_get_views()という関数を使います。

ループ内で以下のように書けば、閲覧数を表示させることができます。

上の例と合わせるなら、こんな感じ

ランクの表示

こっちはプログラミングでやっちゃいましょう。

基礎中の基礎、「変数$iをループごとに1ずつ増やして表示させる」だけですね。

おわり

こんな感じで、難しく考えなくても、シンプルにランキングが実装できます。
クライアントワークでも使えますね!

僕は頭がよろしくないので、いつも難しいコードとか読むと発狂しそうになるんですが、だいたいは「IDさえゲットできればなんとかなる」と思っていて、とにかくまずはIDを取得することを考えるようにしています。

ではでは、エクセレントなランキング表示を!