こんにちは。WP-Dオリーブです。西川です。
プラグインが自力で作れるとしたらどうなるのかを想像してください
WordPressの魅力のひとつは豊富なプラグインです。プラグインがあれば、あんなこともこんなことも可能になり、サイトで実現したいことやクライアントが必要としている機能を実現できます。そうした魅力についてはみなさん、よく知っていると思います。
それから、ネットで探せる functions.php にコピペして使える色々なコードも便利ですね。プラグインにはなっていないけれど、やりたいことを検索すると、だいたいのことは誰かが解決してくれていて、ブログなどに書かれているコードをペーストすると、やりたかったことができてしまったりします。
もしそういう、プラグインやちょっとしたコードを、自分で書けるようになれるとしたらいかがでしょうか?
「ちょっと書ける」というレベルの条件は何でしょうか?それは、WordPressの基本や原理的なことが分かっていて、「ちょっと書く」ための前提となる知識がある、ということです。
- なんとなく、こっちの方向で考えればできる気がする
- ○○系のフックがあるはずだ
- そのためにはこのあたりを調べたり検索すればいいはずだ
- おー!こんなこともできそうだぞ!
- 8割解決できたから、あともう少し工夫してみよう
といった具合です。
そして、これができるということは、WordPressの力を、これまでよりもずっと多く引き出すことができる、ということです。その先には、どういう世界が広がっているのでしょうか?
- 自分のやりたいことを実現するプラグインを自作する?
- 既存のプラグインを改善してみる?
- プラグインを配布する側になって、世界中の人たちにも使ってもらう?
- 単価の高い仕事をする?
- ウェブサービスを作る?
既存のプラグインを組み合わせるだけ、という段階から抜けて、WordPressの力を本当に活かして何かを作ってみるステージに行ってみたいと思いませんか?
さて、前置きが長くなりましたが、この投稿では先日発売された『サイトの拡張性を飛躍的に高める WordPressプラグイン開発のバイブル』のざっくり内容紹介と、それによってできるようになるだろうことを列挙してみたいと思います。
目次と構成
この本は、次の15の章と付録からできています。
- WordPress プラグインとはなにか?
- オープンソース/GPL /エコシステムについて
- プラグインの開発環境を作る
- プラグイン開発スタートアップガイド
- フィルターフックとアクションフックを理解する
- WordPress のデータ構造とクエリを理解する
- WordPress のセキュリティ対策
- 管理画面
- WordPress のエラー処理について
- PHPUnit でプラグインのテスト駆動開発を行う
- WordPress APIリファレンス
- 公式ディレクトリへ登録しよう
- プラグインの国際化対応
- マルチサイトについて
- プラグイン・クックブック
これまでに出ている、基本的な使い方やテーマの使い方、プラグインの紹介本とは様子がだいぶ違っているのがわかると思います。また、各章はお互いに関連しながらも、一応の独立した章としても読むことができるので、やりたいことに合わせて、必要なところを読むこともできると思います。
できるようになること
それでは、さっそく何ができるようになるのか、見ていきましょう。
その1. プラグインが作れるようになる
あたりまえですが、プラグインを作成することができるようになります。
手順も順番に書いてありますから、このあたりは書かれているとおりに進めれば大丈夫だと思います。
「第4章 プラグイン開発スタートアップガイド」では、プラグインの構造やコーディングスタンダードなどについて整理したあと、最初のプラグインを作ります。その次の「第5章 フィルターフックとアクションフックを理解する」はある意味でプラグインづくりのキモであり山場でしょう。
この部分が理解できれば、「第8章 管理画面」「第11章 WordPress APIリファレンス」「第14章 マルチサイトについて」「第15章 プラグイン・クックブック」などの分野別の知識を組み合わせて、プラグインを作成できます。
その2. WordPressの仕組みや動きがよく分かるので、何が起きているのかが分かり、色々思いつくようになる
「第6章 WordPress のデータ構造とクエリを理解する」は短いですが骨太なところで、プラグインを作るときの前提の知識にあたる部分です。
データがどのように保存されているのか、テーブルの様子についても頭に入れておきたいところですし、クエリについての知識があれば、作ろうとしているプラグインが、どのタイミングでWordPressの処理に介入するべきなのか、けんとうが付くようになります。
その3. そんなこともできたのか!というWordPressの知られざる魅力を知れる
WordPressには、たくさんのAPIがあります。この本では全体を通して、また、特に「第11章 WordPress APIリファレンス」で紹介しています。
- Metadata APIは、WordPressの投稿やユーザーと関連付けたデータの保存。Transient APIはそのキャッシュ版。
- HTTP APIは、外部データのとのさまざまな形の通信を可能にしてくれます。
- Rewrite APIは、基本的にURLの扱いのためのAPIですが、一方でWordPressをアプリケーションエンジンとして使うための武器にもなります
- Widget APIやShortcode APIは、みなさんおなじみのウィジェットやショートコードを自分で作るための仕組みで、慣れれば易しいものです。
こうしたものについて、実例を交えながら書いています。プラグインのアイディアも広がりますし、自分のサイトや受託、サービスの開発などでできることが増えます。
その4. ちゃんとしたプラグインが書けるようになる
ちゃんとした、というのはどういうことかといいますと、
- 公式ディレクトリに載るプラグインの条件が揃えられる(掲載方法についてもくわしく説明しています)
- コーディングスタンダードにしたがっていて見やすい(PHP, html, cssなどのスタンダードが載っています)
- 国際化の対応がきちんとされていて、他の方が各国語に翻訳する準備が整っている(国際化の方法についてもくわしく説明しています)
といったことです。このあたりのことは、これまでの書籍では触れられていなかったと思いますので、目を通していただきたいです。プラグインが公式ディレクトリに載って、世界中で使われて、翻訳もされて、というのはとても楽しいことなのでぜひ試してみてください。
セキュリティについても「第7章 WordPressのセキュリティ対策」でくわしく説明しています。
その5. 開発の環境や手法がアップグレードされる
本書での開発環境は、Vagrantです。wp-cliやAWS(AMIMOTO)にも詳説したり各所で触れています。なぜ、こうした環境に移行するとよいのか、どうやるのかを手順付きで説明していますので、気になっていたけれどまだ試していないという方は、これを機に取り組んでみてください。
また、PHPUnitを使ったテストの書き方、テストを前提にプラグインを開発する方法も掲載されています。エラー処理についても章をひとつ割いています。こうした情報は、日本では、ブログの記事でもなかなかないものでした。
その6. 著者陣のノウハウが手に入る
書籍の全編にわたって掲載されているサンプルソースやちょっとしたコツの紹介、それから「第15章 プラグイン・クックブック」では、著者陣のこれまでの経験から得られたノウハウが得られます。この本を読むことで、ちょっとしたことでも肌感覚込みでノウハウを受け取ることができるので、自分一人だけで勉強していくよりも細かく効いてくると思います。
その7. ビジネスモデルやライセンスについてくわしくなれる
この本の特徴として、技術面だけではなく、なぜ、なんのためにプラグインを作るのか?、その先に何があるのか?、既存のビジネスにはどんなものがあるのか?、前提となるライセンスはどうなっているのか、ということについても正面から頑張って書かれているということがあります。
まとめ
以上、ポイントと一緒にざっと見てまいりましたがいかがでしょうか?
今回は、WordPressにすでに親しんでいるけれども、プラグイン開発はまだ、、という方向けに書いてみました。興味のある方は、お近くの書店かアマゾンかなどに並んでおりますので、ぜひどうぞ!
Amazon.co.jp: サイトの拡張性を飛躍的に高める WordPressプラグイン開発のバイブル
それと、サポートや追加情報の配信されるFacebookのページもありますので、よろしければ。
実はこの本にはもうひとつの目標があって、それは「WordPressは単なるブログツール、あるいはCMSなだけと思っている開発者の方に、他のフレームワークと一緒に選択肢のひとつにしてもらう、あるいは、プラグイン開発者になってもらう」というもの、そうしたことについても別途どこかで書ければと思っております〜!
著者情報
- WordPress が好きすぎて困る。