Blog

超初心者向け、いちばんやさしい… WordPress 解説書はそんなのばっかり?エンジニア向けの本はないの?→書きました

Posted by admin at 8:50 日時 2017/01/12

#

みなさん、WordPress の参考書にお困りですか?

ふむふむ、WordPress の本はすでに数冊持ってるし、特に困ってないよ、ですって?

ですよね。実際、Amazon の本カテゴリーで WordPress を検索すると、300件以上も見つかります。

Amazon の本で WordPress と検索すると、304件ヒットします。

多くの本は「WordPress で初めて PHP に触れるデザイナー」もしくは「PHP を極力触らずに WordPress を使いたい個人」向けに書かれています。

中には、「WordPress に慣れて来たので、WordPress を通して PHP を勉強してステップアップしたいデザイナー」向けの本も多少あります。

しかし、これまでの WordPress 解説書で比較的ターゲットにされてこなかったのが「エンジニア」です。

WordPress は PHP で書かれたシステムなのに、エンジニアに人気がなかったの?

確かに、フレームワークを使ってウェブアプリを開発できるエンジニアにとっては、

  • 「WordPress はプラグインが便利っていうけど、それくらい自分で書けばいいじゃん」
  • 「WordPress はレガシーな感じで、正直めんどくさそう」
  • 「WordPress?ブログでしょ?要件に合うわけないじゃん」
  • 「つーか、そもそも PHP ってどうなのw」

というような理由で、敬遠している人も多いかと思います。

とはいえ、WordPress の人気絶頂の昨今、WordPress 指定の案件も多いかと思います。

「車輪の再発明をしない」というのもエンジニアの生態のはずです。

実際使ってみると、美しい管理画面や簡易なカスタマイズ手法に、案外使えるなと見直すことも多いのが WordPress です。

エンジニアにも、ぜひ WordPress を見直して、この魅力的なコミュニティに参加してほしい。

とりあえず、食わず嫌いしてる人はまず読め!

そんな思いで作られたのが本書です。

エンジニアのためのWordPress開発入門 (Engineer's Library)

単行本(ソフトカバー):416ページ
出版社:技術評論社
発売日: 2017/1/26

この本を1冊読めば、WordPress のアーキテクチャや開発手法がサクッと理解できる!というコンセプトで書かれた解説書です。WordPress のコードは、正直独特で理解しづらいことも事実です。そこで、CakePHPやRailsなどのフレームワークと比較してこう理解すればいい、というポイントや、先に知っておきたいつまづきポイントなどもここぞというものを解説しています。

逆に書いていないことは、PHP の解説です。エンジニア向けの本ですので、if とか foreach の説明とか、そんなことに紙面は割かないのでご安心ください。

もちろん、WordPress をさらに理解してステップアップしたい方にもオススメの書籍です。全ての解説は、できるだけ平易に書くよう配慮しています。

また、エンジニアの人に WordPress について文句を言われたら、黙ってスッ…と差し出す用に、デザイナーの方にもオススメですw

執筆陣

野島 祐慈(のじま ゆうじ)

1974年生まれ。「美しいプラグラム」が大好物。DTP・グラフィックデザイン系会社に勤務し、デザイン、DTP、Web制作などを経験した後、システムエンジニアへ転向。神戸のSIerで同社コンテンツ制作室長、CTOの役職を経た後、2012年8月、株式会社フォーエンキーを設立。

本書の企画者であり、生粋のパイソニスタです。Python 使いが WordPress の本を書いているという時点で面白みがあります。Javascript の啓蒙にも余念がなく、『最強オブジェクト指向言語 JavaScript 再入門!』は SlideShare で30万PVを記録した人気スライド。

菱川 拓郎(ひしかわ たくろう)

1982年生まれ。フロントエンドエンジニアとしてWebの世界に飛び込んでのち、CMSの世界にのめり込む。Movable Type、WordPress、OpenPNEなどを業務で触りながら、concrete5にたどり着き、2012年コンクリートファイブジャパン株式会社を設立。WordCampにも6度登壇している。

私です。野島さんとは神戸に住んでいた時代は稀に二人で飲みに行ったりコワーキングスペースで顔を合わせたりする仲。

杉田 知至(すぎた ともゆき)

1984年生まれ。クックビズ株式会社にて開発マネジメント、プロジェクトマネジメントに従事。大学在学中に起業し現在に至るまでWeb開発に関わる。2012年、WordPressと関わりプラグイン開発、テーマレビュー、WordCamp Kansai2014に登壇。

彼もバリバリのエンジニアで関西の友人です。

細谷 崇(ほそや たかし)

1979年生まれ。約4年システム会社に勤め、2007年に退職しNPO法人を設立、代表理事を約5年半、理事を1年務め、2015年3月に退任。現在は個人事業でWordPressやkintoneを使ったシステムの開発や、子供達にプログラミングをサポートするCoderDojoの活動に励む。WordCampには2回登壇、2回ハンズオンを実施。

現在は CoderDojo で子供達にプログラムを教える人というイメージな、通称カシアスです。

枢木 くっくる(くるるぎ くっくる)

1984年生まれ。三度の飯よりアニメが好き。SNSエンジンであるOpenPNEからの派生プロジェクトとしてスタートしたMyNETSで、はじめてPHPとオープンソースコミュニティに触れる。その後、Webサイト/サービス、ソーシャルゲームの開発を行う会社を経て、2014年にヴィジュアライブという屋号にて独立。

WordPress のプラグインはごちゃっとしたのも多いんですが、彼の書くプラグインは美しいので、本書の著書としてぜひにと参加してもらいました。

目次

第1章  WordPressとは?

  • WordPress で何ができる?
    • よく似た要件はございませんか?
    • ちょうど良い湯加減で
    • 必要な要件に愛を
  • ライセンス
  • WordPress が持つ魅力
    • 美しい管理画面
    • 豊富なテーマ
    • 強力なプラグイン
    • 自動アップデート
  • WordPress のエコシステム
  • WordPress と関わる際の心構え
    • 外部設計
    • 詳細設計・プログラミング
    • ディレクション
    • HTMLコーディング
    • WordPress のコーディング規約

第2章 環境の準備

  • WordPress の準備
  • 開発環境の整備
  • WP-CLI —WordPressのコマンドラインツール
  • VCCWによる環境構築 — Vagrantベースの開発環境

第3章 基本機能

  • 表示オプション
  • 投稿と固定ページ
  • メディア — ファイル管理機能
  • カテゴリとタグ — タクソノミー
  • 投稿フォーマット
  • テーマのカスタマイズ
  • ウィジェット
  • カスタムメニュー
  • ユーザーと権限
  • サイト設定

第4章 プラグインによる機能拡張

  • エンティティの追加と構成
  • フォーム
  • キャッシュ
  • バックアップ
  • ユーザー権限
  • 権限グループ
  • CSVからのデータ取り込み
  • SNS連携
  • アンケート
  • WordPress でよく行うカスタマイズ
  • その他の便利なプラグイン

第5章 WordPress の基本アーキテクチャ

  • ファイル構成
    • WordPress の主なファイル・ディレクトリ
    • テーマとプラグイン — 機能の実装コンテナ
    • テーマのファイル構成
  • データ構成
    • WordPress の主なテーブル
    • 投稿タイプ
    • カスタムフィールド
    • タクソノミー
    • コメント
  • 基本的な処理の流れ
  • プラグイン API
    • フックの利用
    • 主なアクションフック・フィルターフック
    • フックの探し方
    • オーバーライドできる関数
  • ページの種類
  • リクエストパラメーター
  • メインクエリ
  • クレイフラグ
  • テンプレートの選択
  • ループとテンプレートタグ
  • WordPress のソースコード
    • ソースコードを読むにあたって
    • グローバル変数とコンテキスト

第6章 テーマの作成・カスタマイズ

  • テーマの作成
    • テーマ作成前に検討すべきこと
    • テーマの最小構成による作成例
    • style.cssの記述パターン
    • functions.phpの記述パターン
  • ビューの構成
  • テーマに関連した API
  • テーマ作成のアプローチ
    • 既存テーマのカスタマイズ
    • スクラッチによるテーマの作成
  • テンプレートに利用する関数
    • 関数の分類
    • インクルード系
    • コンテンツ系
    • タグ出力系
    • 条件分岐タグ系
  • 作成したテーマのチェック
    • デバッグモードによるチェック
    • theme-checkプラグインによるチェック
    • テーマユニットテストによるチェック

第7章 プラグインの作成と公開

  • プラグインの作成
    • プラグインの役割
    • プラグインの成立要件
    • プラグインの実装
  • 公式ディレクトリへの登録

第8章 投稿データと関連エンティティ

  • データ構成の概要
  • 投稿タイプ
  • カスタムフィールド
  • タクソノミー
  • コメント

第9章 投稿データの検索・取得

  • WP_Query — WordPress の心臓部
  • 基本的な使い方
  • パラメーター
  • その他のプロパティとメソッド
  • メインクエリ中の WP_Query に対して行える操作
  • クエリビルディングへの介入

第10章 ユーザーと権限

  • ユーザーと権限の仕組み
  • ユーザー操作に関する API
  • ロールや権限の追加とカスタマイズ
  • 権限のチェック手法

第11章 管理画面のカスタマイズ

  • メニューのカスタマイズ
  • Settings API — 独自の設定画面の作成
  • 投稿データ一覧ページに独自項目の追加
  • カスタムフィールドの入力フォーム作成

第12章 その他の機能やAPI

  • wpdb クラス — データアクセスのための DAO
  • バリデーションとサニタイズ
  • オプション API
  • JavaScript や CSS の管理
  • キャッシュ — 一定期間のデータ保持
  • ショートコード — 動的な出力を得る
  • ウィジェット — 追加機能の実装
  • マルチサイト — 複数サイトの作成
  • WP REST API — RESTfulなWebサイトの実現
  • 国際化
  • 自動アップデート
  • メールの送信

各章の執筆者の担当は下記のようになっています。

担当
第1章 野島
第2章 野島&杉田
第3章 野島
第4章 細谷
第5章 野島
第6章 杉田
第7章 野島
第8章 くっくる
第9章 菱川
第10章 杉田
第11章 くっくる
第12章 野島&菱川

そもそもの始まりはWordCamp Osaka 2012のとある講演

目次からも独特な本だとお分りいただけると思いますが、実際にどのような雰囲気で書かれた本なのか。それは、4年前の WordCamp に遡ります。主著者の野島さんの『エンジニアの為のWordPress入門 WordPressはWebAppプラットフォームです』というセッションが、本書とコンセプトが同じで、内容もかなり重なるものになっています。

野島さんの軽妙な語り口で行われたこのセッションは人気を博し、書籍化のきっかけになりました。その後、野島さんのお仕事が忙しく、共著者が加わりましたが、彼の思い、伝えたいことは全員で共有しています。そして、大変残念なことですが、野島さんは本書の出版を待たず、この世を旅立たれてしまいました。このため、彼が伝えたかったことの全てを書籍に入れることはできませんでした。未完成のため削除された章もあります。しかし、全てが失われてしまうにはあまりにも惜しいと考え、共著者が団結して出版に漕ぎ着けることができました。彼の視点で出版される WordPress 書籍はこれが最初で最後となってしまいます。セッション動画を見て興味を持った方は、ぜひこの機会を逃さずお買い求めいただければと思います。

私の担当部分のイチオシ!

私は過去に「query_postsを捨てよ」という記事を書きまして、その縁もあり WP_Query の使い方を主に書かせていただきました。WordPress でデータを取得するには必ず出てくる、そしてまとまった使い方がググってもなかなか出てこないクラスです。めちゃくちゃたくさんある各種パラメーターの使い方も絞って紹介(それでも多い)。

さらに、実際に生成されるSQLの観点から、カスタムフィールドにどういう形式でデータを保持すべきか、という点にも言及しています。また、カスタムフィールドのテーブルの結合がINNER JOINしか選べないので、その前提で設計すべき!という、細かいですが私的にはすごく重要なポイントにも触れています!WP_Queryをとことん理解したいという方は、是非ぜひお買い上げください!

エンジニアのためのWordPress開発入門 (Engineer's Library)

単行本(ソフトカバー):416ページ
出版社:技術評論社
発売日: 2017/1/26

エンジニアのためのWordPress開発入門 (Engineer's Library)


Share this entry