【WordPressの動き方シリーズ】(1)WordPressで作ったサイトへのアクセスから出力までの概要
WordPressが各ページのデータを出力するまでの流れは大まかにこのような順番になっています。
STEP①:特定のURLにアクセスがあった時、
STEP②:WordPressのコアファイルが必要なデータを考え、
STEP③:データベースから集めてテンプレートファイルに渡し、
STEP④:テンプレートファイルで整形して出力する
WordPressにおけるカスタマイズの基礎(アクションとフィルター) | WordPressのプラグインを作ろう でも書きましたが、WordPressのカスタマイズとは、この各処理ステップにおいてWordPressが予め用意しているカスタマイズ用のポイントに、自作の関数を差し込むことでそのデータを改変する事です。
カスタマイズ可能なポイントを追加したリンゴの皮剥き手順
STEP1:リンゴを手に持つ
↓
カスタマイズポイント1:「リンゴを手に持った後にするアクション」に関数が追加されていればそれを実行
↓
カスタマイズポイント2:「包丁を手に持つ前にするアクション」に関数が追加されていればそれを実行
↓
STEP2:包丁を手に持つ
↓
STEP3:
・リンゴの皮剥き条件【皮の太さ:2㎝、皮の厚さ:2mm、剥く方向:円を描くように】
・カスタマイズポイント3: 「リンゴの皮剥きフィルター」に関数が追加されていればそれで「リンゴの皮剥き条件」を上書きする
・「リンゴの皮剥き条件」に従いリンゴの皮剥きをする
カスタマイズ可能なポイントを追加したリンゴの皮剥きの例では、2種類のカスタマイズポイントがあることが分かると思います。
青:STEPの前後に「なにかのカスタマイズ処理を行いたい」場合
緑:STEPで「使用するデータにカスタマイズ処理を行いたい」場合
それぞれのカスタマイズ処理は、元になるSTEPと関係する物でも無関係な物でも構いません。
青の例では、コメントが送信されたとき「コメントのデータを確認し、不適切な文字列を置き換える」という処理を挟み込んでも良いですし、コメントとは関係ない「その時のYahooニュースの一番最初のタイトルををデータベースに保存する」という処理を挟み込んでも構いません。
また、青のカスタマイズにおける「リンゴを手に持った後にするアクション」という名称を「アクションフック」、緑のカスタマイズにおける「リンゴの皮剥きフィルター」を「フィルターフック」と呼んで区別しています。
これら「アクションフック」や「フィルターフック」は、WordPressの内部処理ステップごとに細かく用意されていますが、良く利用される「フック」は限られている上、大抵のカスタマイズは先人が既に報告してくれているので必要に応じてネットなどで検索すれば事足りつ事が多いので、数多くあるフックの全てを暗記する必要はありません。
一方でWordPressがデータを集めてテンプレートに渡すまでの流れを一通り学習しておくと、カスタマイズの際の指針になると思いますので、その点について第2章以降でザックリとまとめてみたいと思います。
ディスカッション
コメント一覧
まだ、コメントがありません