人気投稿表示用のJetpack Post Viewsプラグインを日本語化してみた

先日の私のサイトのリニューアルにて、人気記事の表示用に「Jetpack Post Views」プラグインを導入した。このプラグイン、Jetpackのサイト統計情報のページビュー数を取得してきて人気記事を選別してくれるプラグインで、Google Analytics等のサイト分析サービスと同等な、確度の高いPV数を元にして人気の投稿が表示できるようになる優れもののプラグインだ。

このプラグインの日本語化がされていなかったので、今回、管理画面の機能把握も兼ねて日本語化をしてみた次第だ。幸いにもプラグインの構造がシンプルだったので、日本語化は結構楽だった。

設定画面の日本語化

ただ、翻訳ファイルを食わせてもウィジェットの説明文等が日本語化されなかった。

そこで、ソースを見てみたところ、フックポイントのinitに対して言語ファイル読込処理のアクションフックしているのが原因だった。これだと、Widgetメニューに言語ファイルが反映されないのだ(私もはじめて知った…いやぁ、勉強になった)。そこで、コアクラスの言語処理は使わずに別途拡張ファイルとしてfunctions.phpを作って、そちらでafter_setup_themeにアクションフックさせることで翻訳化100%を達成できた。

ウィジェット・メニューの日本語化

もうソースまで見てしまうと、プラグイン自体ももうちょっとカスタマイズしたいという欲望が出てきてしまい、結局色々と手を入れてしまったので、勝手にバージョン1.1.1として(現在の公式配布版は1.1.0)リファクタリングしてしまった・・・(笑)

追加した機能

1. JPV/post_typesフィルター

元々「Jetpack Post Views」プラグインは投稿用なので、固定ページのページビューには対応していない。今回、このフィルターフックを追加したことで、固定ページの閲覧数もウィジェットで取り扱えるようになった。
ちなみに、私の1.1.1版では管理画面の固定ページの記事一覧に閲覧数を表示する機能はデフォルトでONになっている(下図参照)。

固定ページにも閲覧数を表示

フィルターの使い方は下記のとおり。

一応、第二引数を使って各種関数ごとに取得する投稿タイプを切り替えられるようにしてある。
まぁ、そこまで細かく制御することもないと思うが、上記のようにフック処理を書いてあげれば特定の投稿タイプもウィジェットのフィルター設定に表示されるようになる。

2. JPV/the_post_viewsフィルター

ウィジェット用に「閲覧数も表示する」にチェックを入れると- 0 viewsみたいに表示されるのだが、ちょっとこの閲覧数表示部分が私的に気に入らず(笑)、カスタマイズできるように、出力用のフィルターを追加してみた。
使い方は下記の通り。

オリジナルの出力HTMLが$render_post_viewsに、純粋な閲覧数のみが$post_viewsに入っているので、好きにカスタマイズできる。上記の例だと、単純に数字のみが表示されるようになる(前出のスクリーンショットを参照)。
is_admin()とかで条件つけてあげると、記事一覧の閲覧数のカラムには* ビューではなく数字のみが表示されるようにできる(私的にはこちらの方が好みだ)。

あとは、ウィジェットのスタイルを最適化したり、軽微な修正をいくつか・・・。

独自拡張版 Jetpack Post Views 1.1.1

──というわけで、ka2独自拡張版の「Jetpack Post Views 1.1.1」をここに共有化しておこうと思う。
もしお使いいただける方がいましたら、どうぞお好きに使ってください。なお、不具合等あればご連絡ください(私が開発していない部分については基本対応できないかもしれませんが・・・)。

ダウンロードファイル (ZIP形式:21.1KB)

あ、ちなみに日本語化だけしたい人は、上記ダウンロードファイル中のlanguagesフォルダだけを現在のプラグインフォルダの中にコピーすればOKです(ウィジェット・メニューの一部が日本語化されませんが、それはご了承ください)。

Jetpack Post Views の今後は…?

Jetpack Post Views

さて、この1.1.1版を公式のプラグイン・リポジトリにmergeして欲しいところだが、svnにはプルリクがないうえに、wordpress.orgの公式リポジトリのdescriptionでも作者自身がもう保守しないと明言しているのがやっかいだ。

NOTICE: I am no longer maintaining this plugin. Jetpack does not provide the necessary functionality to reliably and easily update post views for more than 500 posts. I am tired of trying to hack a solution that ultimately doesn’t work. If anyone wants to continue to maintain the plugin feel free to download the code.

結構、アクティブに使っているユーザーもいるし、私自身も重宝しているので、この際、このプラグインの開発とサポートを引き継ごうかと思い立った。ただ、プラグインの開発引継ぎってどうやるのかよくわからなかったので、とりあえずは直接、開発者のスティーブンさんに開発を引き継ぎたい旨の連絡をしてみたところだ。

まだ、返答はないけど、もし了承してもらえたなら、大々的にリファクタリングしてみたいプラグインではある。

Currently comments (1)

  1. 早速、スティーブンさんからプラグイン引継ぎOKの返事をもらった(やったー!)。

    なので、近々公式リポジトリに私のバージョン1.1.1をリリースしようかと思います。
    そうなると、デフォルトで日本語化されたプラグインになります。

Leave a Reply

Your email address will not be published.