KiyomizuにWP REST APIを追加してVersion1.5をリリースしました。

「公式ディレクトリのテーマにWP REST APIは使える」という話をWordBash Kyotoで言ってたんですが、本当にOKなのか気になって試してみました。

追加してみたテーマ

KiyomizuというTwenty Fifteenを2カラムにしたテーマを公式ディレクトリにあげているのですが、こいつに埋め込んでみました。

もともと「どれだけ少ない変更で公式ディレクトリにあげれるか」というチャレンジ的なところで作られたテーマなので、ちょくちょく実験に使ってるテーマです。

どうせそんなにDLもされてねーし

過去にもVersion1.4でCSS Columnsを仕込んでみたりしてるので、今回の実験にもちょうどいいかなということで投入することに。

使ってる場所

スクリーンショット 2016-01-31 11.18.27
個別記事(投稿・固定ページ)の下部に「Similar Category Post」という項目が追加されています。

表示している記事と同じカテゴリの記事を10件取ってくるだけのなんてことはない要素ですが、せっかくなのでWP REST APIから取ってくるようにしてみました。

本当にREST API使っていい模様

REST APIプラグイン入っていないとajaxの処理で「API見つかんねーよ」という404のエラー出すので、管理画面で「REST API インストールしろよー」という案内を出るようにはしています。

で、インストールしていない人への対応をどこまでやっていいものかなと思ったのでとりあえずレビューに出してみたところ、普通にレビュー通りました。

というわけでDLする人はこちら

WordPress › Kiyomizu « Free WordPress Themes

マサカリ投げたい人はこちら

hideokamoto/wp-theme-kiyomizu – PHP
issueもらえればそれを励みにします。
プルリク貰えればよっぽどのことがなければマージします。

テーマにREST APIを使ってみて

サイトの表示部分を全部REST APIにするというのはOGPとかSEO的な対応が結構面倒そうだったりで、実案件に使うには割に合わないかなという印象です。

ただ今まで全部のコンテンツをPHPで処理させていたところを一部JavaScriptでの処理に移譲できるということで、サイトの表示速度改善には使えるかもしれません。

ファーストビューやメインのコンテンツ部分は従来通りPHPを使って処理をして、関連記事やサイドバーなどの付随するコンテンツはPHPの処理が終わってからREST APIで処理する。

こういう形であればPHPの処理量が減る分サーバーからのレスポンスは早くなるんじゃないかなと思います。

もっとも、APIリクエストが増える分サーバーへの負荷が高くなって安いサーバーだと辛い思いをすることになるかもしれませんが・・・

とはいえReactで作り込んだA Day of RESTのサイトとか、「セガサターン化するのでは」とか誰かが言い出しているPolymerと使ったGoogle I/O 2015みたいなサイトは個人的にすごく好きなのでこういうチャレンジをするエンジニアが増えるといいなーと思っている次第です。

現場からは以上です。

Follow me!

Okamoto Hidetaka
デジタルキューブのインフラエンジニア。勉強会に和太鼓の練習から直行することが多く「太鼓の人」とかよばれてます。 思いつきで公式ディレクトリにテーマやプラグインをアップしたりテーマレビューやったりしています。 AWS / WordPress / LinkedOpenData周りで活動していて、APIをどうこうして何か作るというのが多いです。 ひとこと
mautic is open source marketing automation