【WordPress】投稿を集計するただひとつのプラグイン「Site Posts Stats」

社会人2年目エンジニアの関です。

WordPressの開発で、テーマとかプラグインを自作しているとなんだか上級者っぽい感じしませんか?かっこよくないですか?
ということで、私もかっこいい上級者に一歩でも近づきたいのでプラグインを自作してみました。

今回の制作物は以下で公開しています。
概要や画面説明などはREADME.mdを見てください。
https://github.com/hseki-luckey/site-posts-stats

1. 開発に必要なもの
テーマユニットデータ
集計するにはそこそこの投稿数が必要。でも、ちまちま1記事ずつ準備するのもなぁ・・・。と思っていたらちょうどいいのがありました。
簡単なインポートだけで投稿だけでなくカテゴリやタグ、ユーザなども追加できます。超助かります。

Chart.js
グラフを表示するためのライブラリ。今回の主役と言っても過言ではない。
このプラグインでは円グラフ、棒グラフ、折れ線グラフの3種類しか使っていませんが、他にもレーダーチャートやドーナツグラフなど、グラフの種類が充実している地味な優れものです。
ダウンロードしてもよかったのですが、めんどくさかった諸々の事情により外部リンクで読み込んでいます。個人的にアニメーションが好き。

2. 導入方法
① githubからソースをダウンロードし、/wp-content/plugins内にフォルダを設置する

② wp-admin内「インストール済みプラグイン」から「Site Posts Stats」を有効化する

③有効化すると左枠メニューバーに「投稿集計」というメニューが表示される

3. 画面デモ
以下、実際に表示されるグラフです。
女子っぽくグラフの色はピンクで統一してみました。

① 年別投稿数

初期値には「post_date_gmt」が「0000-00-00 00:00:00」になっている投稿が設定されます。(ステータスはおそらく「draft」「 auto-draft」だと思います。)
地味に投稿数0件の表示が大変でした。

②ステータス別投稿数

集計対象となる投稿のpost_typeを「post」と「page」に区切っているため、対象ステータスは「inherit」以外です。
③もなのが9種以上サイト内に投稿ステータスが存在すると対応する色が存在しないのでエラーが起きます。WordPressデフォルトは8種類なので、普通に使う分には問題ないかと。

③投稿タイプ別投稿数

②でも説明しましたが、対象の投稿タイプを9種類以上にするとエラーが起きます。
現在は「post」と「page」に絞っていますが、集計範囲を広げる場合には十分注意してください。

④著者別投稿数

10件以上グラフに表示させるとラベルの文字が小さくなりすぎて何が何だか分からなくなるので、グラフの表示数だけは10件に絞っています。

⑤カテゴリ別投稿数

④と同じくグラフの表示を10件に絞っています。

4. おわりに
今回のプラグイン制作期間はおよそ10時間。
phpやsqlというよりもjsやcssに手間取ってしまいました。行き当たりばったりで画面構成を決めてしまったのと、関数の作り方が雑だったのが反省点です。
まだまだWordPress上級者にはほど遠いので、また違うプラグインを作ってみたいと思います。

☆.。:・★.。:・☆.。:☆.。:・★.。:・☆.。:・★.。:・☆☆.。:・★.。:・☆.。:☆.。:・★.。:*・☆☆

株式会社リンクバルでは一緒に働くエンジニアを募集中です!
気になった方はコチラまで!

☆.。:・★.。:・☆.。:☆.。:・★.。:・☆.。:・★.。:・☆☆.。:・★.。:・☆.。:☆.。:・★.。:*・☆☆