WordPressによるWebアプリケーション開発

[cover photo]
  • 2014年11月 発行
  • 364ページ
  • ISBN978-4-87311-706-5
  • フォーマット Print PDF ePub mobi
  • 原書: WordPress Web Application Development

オライリー・ジャパンで書籍を購入:
定価4,104円

Ebook Storeで電子版を購入:
価格3,283円

WordPressはCMSプラットフォームとして不動の地位を確立していますが、本書では、このWordPressをWebアプリケーションの開発フレームワークとして活用し、Webアプリケーション開発に必要な知識とテクニックについて詳しく解説しています。ユーザー管理、URLルーティング、データベース設計、再利用性を重視したプラグイン設計、メディアアップローダーを用いたファイル処理、管理画面の実装とカスタマイズ、ウィジェットの効果的な利用方法、OAuthログイン、Web APIサービスの提供、Ajax、Backbone.jsを用いたクライアントサイドの構造化など、Webアプリケーションに要求される処理の多くをWordPressで実現する方法を提示。WordPressの持つ威力と可能性を体感できる一冊です。WordPress 4.x対応。

関連書籍

Backbone.jsアプリケーション開発ガイド
初めてのPHP、MySQL、JavaScript&CSS 第2版

監訳者まえがき
序文
1章 Webアプリケーションフレームワークとしての WordPress
    1.1  CMSとしての WordPress
    1.2  Web開発フレームワークとしての WordPress
        1.2.1  MVC対イベント駆動アーキテクチャ
    1.3 組み込みモジュールで開発をシンプルにする
    1.4  WordPressのコンポーネントの機能
        1.4.1  WordPressテーマの役割
        1.4.2 管理画面の役割
        1.4.3 プラグインの役割
        1.4.4 ウィジェットの役割
    1.5 ポートフォリオ管理アプリケーションの開発プラン
        1.5.1 アプリケーションの目標と対象ユーザー
        1.5.2 アプリケーションのプランニング
        1.5.3 アプリケーションのユーザーロール
        1.5.4 アプリケーションの機能、特徴のプランニング
    1.6  WordPressの限界とそれに基づくガイドライン
    1.7  Q&Aインターフェイスの構築
        1.7.1 必要なもの
        1.7.2 質問を作る
        1.7.3 回答のステータスを変更する
        1.7.4 回答ステータスを保存する
        1.7.5 質問リストを生成する
    1.8  まとめ

2章 ユーザーロール、権限、機能を実装する
    2.1  ユーザー管理の基礎
        2.1.1 プラグインの準備
    2.2  ユーザーロールの操作
        2.2.1 アプリケーションのためにユーザーロールを作る
        2.2.2 デフォルトロールの復習
    2.3  ユーザー権限の操作
        2.3.1 最初の権限を作る
        2.3.2 デフォルト権限の基礎
    2.4  アプリケーションのユーザー登録
    2.5  フロントエンド登録を実装する
        2.5.1 ショートコードによる実装
        2.5.2 ページテンプレートによる実装
        2.5.3 カスタムテンプレートによる実装
        2.5.4 ユーザーモジュールのためにシンプルな URLルーティングメカニズムを構築する
        2.5.5 関数へのアクセスを制御する
        2.5.6 カスタムテンプレートを作る
        2.5.7 登録フォームをデザインする
        2.5.8 ユーザー登録プロセスのプランニング
        2.5.9 登録フォームからのサブミットを処理する
        2.5.10 ユーザーをアクティベーションする
    2.6 フロントエンドログインを実装する
        2.6.1 ログインフォームを表示する
    2.7 実際にやってみよう
    2.8 まとめ

3章 コアデータベースのプランニングとカスタマイズ
    3.1  WordPressデータベースの特徴
    3.2 既存のテーブルの役割
        3.2.1 ユーザー関連テーブル
        3.2.2 投稿関連テーブル
        3.2.3 ターム関連テーブル
        3.2.4 その他のテーブル
    3.3  Webアプリケーションに既存のテーブルを適応させる方法
        3.3.1 ユーザー関連テーブル
        3.3.2 投稿関連テーブル
        3.3.3 ターム関連テーブル
        3.3.4 その他のテーブル
    3.4 カスタムテーブルでデータベースを拡張する
    3.5 ポートフォリオ管理アプリケーションのテーブル構造のプランニング
        3.5.1  Webアプリケーションのテーブルのタイプ
        3.5.2 カスタムテーブルを作る
    3.6 データベースへのクエリの発行
        3.6.1 既存のテーブルにクエリを発行する
        3.6.2 カスタムテーブルにクエリを発行する
        3.6.3 投稿を取得する
        3.6.4 アプリケーションに合わせて WP_Queryを拡張する
    3.7 限界と考慮すべきポイント
        3.7.1 トランザクションサポート
        3.7.2 投稿のリビジョン
        3.7.3 自動保存
        3.7.4 メタテーブル
    3.8 まとめ

4章 Webアプリケーションの構成要素
    4.1 カスタムコンテンツタイプの初歩
        4.1.1  Webアプリケーションでのカスタム投稿タイプの役割
    4.2 アプリケーションのためのカスタム投稿タイプのプランニング
        4.2.1 プロジェクト
        4.2.2 サービス
        4.2.3 記事
        4.2.4 書籍
    4.3 ポートフォリオ管理アプリケーションのカスタム投稿タイプを実装する
        4.3.1 カスタム投稿タイプの設定を実装する
        4.3.2 プロジェクトクラスを作る
        4.3.3 テクノロジーとタイプのカスタムタクソノミーを作る
        4.3.4 メタボックスを持つカスタムフィールドの初歩
    4.4 テンプレートエンジンとは何か
        4.4.1  Twigテンプレートをセットアップする
        4.4.2 最初の Twigテンプレートを作る
    4.5 カスタムフィールドデータの永続化
        4.5.1 カスタム投稿タイプのメッセージをカスタマイズする
        4.5.2  Twigテンプレートにデータを渡す
    4.6 カスタム投稿タイプの関係
    4.7 カスタムコンテンツタイプのための Podsフレームワーク
        4.7.1  Web開発のために Podsを選んでよいのか
    4.8 実際にやってみよう
    4.9 まとめ

5章 プラガブルなモジュールを開発する
    5.1  WordPressプラグインの簡単な紹介
        5.1.1  WordPressプラグインアーキテクチャ
    5.2  Webアプリケーション開発での WordPressプラグイン
        5.2.1 プラグインで再利用可能なライブラリを作る
        5.2.2 拡張性のあるプラグイン
        5.2.3 プラガブルなプラグイン
    5.3 実際にやってみよう
    5.4 まとめ

6章 管理画面をカスタマイズして強力なバックエンドにする
    6.1 管理画面を深く理解する
    6.2 ツールバーをカスタマイズする
        6.2.1 ツールバーを取り除く
        6.2.2 ツールバーアイテムを管理する
    6.3 メインナビゲーションメニューをカスタマイズする
        6.3.1 新しいメニュー項目を作る
    6.4 カスタムページを使って機能を追加する
        6.4.1 設定ページを作る
        6.4.2 設定ページをカスタマイズして汎用設定ページに変える
        6.4.3 アプリケーションのオプションパネルを作る
        6.4.4  WordPressオプション APIの使い方
    6.5 多機能管理リストテーブルの使い方
        6.5.1 拡張リストを作る
        6.5.2 開発者のフォローのために管理リストテーブルを使う
    6.6 管理画面のための優れたビジュアル
    6.7 レスポンシブな管理画面
    6.8 実際にやってみよう
    6.9 まとめ

7章 テーマを調整してすばらしいフロントエンドを作る
    7.1  WordPressアプリケーションのフロントエンドについての基礎知識
        7.1.1  WordPressテーマの基本ファイル構造
        7.1.2 テンプレートの階層構造
    7.2 典型的な Webアプリケーションフレームワークのテンプレート実行プロセス
    7.3  Webアプリケーションのレイアウト作成テクニック
        7.3.1 ショートコードとページテンプレート
        7.3.2 カスタムルーティングをともなうカスタムテンプレート
    7.4 ポートフォリオ管理アプリケーションのトップページを作る
        7.4.1 ウィジェットとは何か
    7.5 アプリケーションレイアウトのウィジェット化
        7.5.1 ウィジェットを作る
    7.6 カスタムテンプレートローダーを作る
    7.7 トップページテンプレートをデザインする
    7.8 アプリケーションのフロントエンドメニューを生成する
        7.8.1 ナビゲーションメニューを作る
        7.8.2 フロントエンドでユーザー固有メニューを表示する
    7.9 プラガブルで拡張性の高いテンプレートを作る
        7.9.1 プラガブルで拡張性の高いテンプレート
        7.9.2  Webアプリケーションにおける拡張性の高いテンプレート
        7.9.3  WordPressのプラガブルテンプレート
        7.9.4  WordPressテンプレートと Twigテンプレートの比較
    7.10 アクションフックでトップページテンプレートを拡張する
        7.1 0.1拡張ポイントを提供できるようにウィジェットをカスタマイズする
    7.11 レイアウトのためのアクションフックのプランニング
    7.12 実際にやってみよう
    7.13 まとめ

8章 オープンソースライブラリとプラグインを活用する
    8.1 なぜオープンソースライブラリを使うのか
    8.2  WordPressコアに含まれているオープンソースライブラリ
    8.3  WordPressコアに含まれているオープンソース JavaScriptライブラリ
        8.3.1  Backbone.jsとは何か
        8.3.2 コードの構造化の重要性
        8.3.3  Backbone.jsと Undersocore.jsの統合
        8.3.4  Backbone.jsで開発者プロフィールページを作る
    8.4 カスタムメール送信のために PHPMailerを活用する
        8.4.1  WordPressコア内の PHPMailerの使い方
    8.5  Opauthでユーザー認証を実装する
        8.5.1 ログインストラテジーをセットアップする
        8.5.2  LinkedInアプリケーションを作る
        8.5.3 ストラテジーリクエストを処理する
        8.5.4  Opauthライブラリを初期化する
        8.5.5 ポートフォリオ管理アプリケーションでユーザーを認証する
    8.6 サードパーティライブラリとプラグインの使い方
    8.7 実際にやってみよう
    8.8 まとめ

9章 サードパーティアプリケーションからの呼び出しを待つ
    9.1  APIの基礎
        9.1.1  APIを持つことのメリット
    9.2  WordPressのXML-RPC API
    9.3  APIクライアントの作り方
    9.4 カスタム APIを作る
    9.5  APIへのユーザー認証を組み込む
    9.6  APIアクセストークンを組み込む
    9.7  APIドキュメントを提供する
    9.8 実際にやってみよう
    9.9 まとめ

10章 ポートフォリオ管理アプリケーションを 1つにまとめて完成させる
    10.1 ポートフォリオ管理アプリケーションの統合と構造化
        10.1.1 ステップ 1.本書で使ったすべてのプラグインを無効化する
        10.1.2 ステップ 2.新しいスタンドアローンプラグインを作る
        10.1.3 ステップ 3.すべてのプラグインを wpwa-web-applicationに移す
        10.1.4 ステップ 4.プラグイン定義を取り除く
        10.1.5 ステップ 5.共通フォルダを作る
        10.1.6 ステップ 6.メインプラグインにコンポーネントをロードする
        10.1.7 ステップ 7.テンプレートローダーを作る
        10.1.8 ステップ 8.オートローダーを再利用する
        10.1.9 ステップ 9.メインプラグイン関数を定義する
        10.1.10 ステップ 10.テンプレートルーターを作る
        10.1.11 ステップ 11.有効化コントローラを作る
        10.1.12 ステップ 12.スクリプトコントローラを作る
        10.1.13 ステップ 13.管理メニューコントローラを作る
        10.1.14 ステップ 14.クラスの初期化コードを作る
        10.1.15 ステップ 15.アプリケーションのコントローラを初期化する
    10.2 カスタム投稿マネージャを再構成する
    10.3 ユーザーマネージャにテンプレートローダーを統合する
    10.4 再構成されたアプリケーションを相手にする
        10.4.1 開発者モデルを作る
        10.4.2 開発者リストテンプレートをデザインする
        10.4.3  Ajaxベースのフィルタリングを有効にする
    10.5 プロフィールページにフィールドを追加する
        10.5.1 プロフィールフィールドの値を更新する
    10.6 フォロワー通知をスケジューリングする
        10.6.1 メールでフォロワーに通知する
    10.7  WordPressのあまり知られていない機能
        10.7.1 キャッシュ
        10.7.2 トランジェント
        10.7.3 テスト
        10.7.4 セキュリティ
    10.8 実際にやってみよう
    10.9 本書の締めくくりに
    10.10 まとめ

付録 Aセットアップ、ツール、参考資料
    A.1 WordPressをインストール、セットアップする
        A.1.1 ステップ 1.WordPressをダウンロードする
        A.1.2 ステップ 2.アプリケーションフォルダを作る
        A.1.3 ステップ 3.アプリケーションの URLを設定する
        A.1.4 ステップ 4.WordPressをインストールする
        A.1.5 ステップ 5.パーマリンクをセットアップする
        A.1.6 ステップ 6.Responsiveテーマをダウンロードする
        A.1.7 ステップ 7.Responsiveテーマを有効化する
        A.1.8 ステップ 8.プラグインを有効化する
        A.1.9 ステップ 9.アプリケーションの使い方
    A.2オープンソースライブラリとプラグイン
    A.3オンラインの参考資料とチュートリアル

索引

Feedback

皆さんのご意見をお聞かせください。ご購入いただいた書籍やオライリー・ジャパンへのご感想やご意見、ご提案などをお聞かせください。より良い書籍づくりやサービス改良のための参考にさせていただきます。
[feedbackページへ]