WordPressには、「フック」という便利な仕組みがあります。
この仕組みにより、Wordpress自体の処理フローの中で独自の処理を追加実行させたり、本来出力されるデータを書き換えたりすることができます。
「フック」には、以下の2種類が存在しています。
- フィルターフック
主に出力されるデータ(記事タイトル、本文 等)を独自に書き換える際に使用。 - アクションフック
既存の処理の中で独自の処理を追加実行することができる。
特にアクションフックはWordpressをカスタマイズする上で、欠かすことができない仕組みと言えます。
アクションフックとは?
前述の通り、アクションフック により、Wordpress自体の既存処理フローの中で、独自の処理を追加実行することが可能ですが、好きな箇所、好きなタイミングで実行できるわけではなく、実際にはfunction関数中の do_action() 、または do_action_ref_array() の箇所に限定されます。
do_action() と do_action_ref_array() は処理自体は同一ですが、後者の方は事前にある配列をそのまま引数として使用する場合や、扱う引数の数が多い時などに使われます。
厳密に言えば、独自の処理を do_action() や do_action_ref_array() をトリガーにして追加実行させる仕組み、それが アクションフック です。
どういう時に使うか?
アクションフック を利用する場面は様々で
※格納場所:Wordpressのルートディレクトリ直下
wp-blog-header.php から読み込まれると同時に、以下の処理が行われる。
- WordPressルートディレクトリのシステムパスを定数化(ABSPATH) – 21行目
- wp-config.php を読み込み – 50行目
wp-config.php
※格納場所:Wordpressのルートディレクトリ直下
基本的に、Wordpressと連携させるデータベースのログイン情報等を記載しているスクリプト。
データベース名、接続ユーザー名、接続パスワード等は全て定数化され、Wordpressがデータベースに接続する度に定数として使用される。
各種定数化の最後に、以下の処理が行われる。
- wp-settings.php を読み込み – 93行目
wp-settings.php
※格納場所:Wordpressのルートディレクトリ直下
wp-config.php から読み込まれると同時に、以下の処理が行われる。
- コア部品となる各種スクリプトファイルを読み込む
- 環境チェック
- 各設定値等を定数として定義
- データベースとの接続
- 基本処理関数を実行
- 各種プラグインのスクリプトファイルを読み込む
- テーマフォルダ内の「functions.php」を読み込む
ここまでが、ページを出力する前段階になる。
基本関数 wp() の実行
wp-load.php の読み込みから、一連のスクリプトファイルが読み込まれる (データベースとの接続、プラグインやテーマファイルとの連携が完了) ことで実行可能となる。
この処理が実行されることで、アクセスされたURLを元にした検索条件設定、データベースからの必要データ取得が行われる。
同時に、生成された検索条件、投稿データ等はグローバル変数化され、以下、テーマテンプレートファイルからの参照が可能になる。
($wp_query、$post など)
template-loader.php
※格納場所:/Wordpressのルートディレクトリ/wp-includes
アクセスされたURLを元に、指定テーマ内を参照し、最適なテンプレートファイルを読み込むことでページを出力する。
テンプレートはページ種別や条件等で優先順位が異なる。

コメントを残す