はてブpocketWordPressのテーマカスタマイズ初心者向けに連載記事を書いていきます。対象読者は以下に当てはまる方です。WordPressを使ったことはあるこれからWordPressをカスタマイズしたいなんとなくカスタマイズしてきたけど正しいやり方を学びたいオリジナルテーマを作成したいPHPはわかるけどWordPressはよくわからないエンジニア向けと謳っているので、HTMLやPHP自体をある程度理解している(さわったことがある)人が前提の連載記事となります。連載を読むことでWordPressのお作法に則った正しいカスタマイズ手段が伝わればと思います。連載初回である当記事では、WordPressでページがリクエストされてから表示が完了するまでの処理の流れを紹介します。理解しやすいように、詳細部分は省いている場合があります。ポイントを押さえていただければ嬉しいです。まとめテーマカスタマイズのポイントテーマのカスタマイズをする際、WordPressのどの処理をカスタマイズするかを理解し、正しい方法でカスタマイズすることがポイントです。不具合がなく、効率的な処理を実行することができます。そのためにまずはカスタマイズ前の処理の流れやWordPressの仕様を理解することが不可欠です。それでは順に見ていきましょう。ページが表示されるまでの処理概要あるURLにリクエストされてからページが表示されるまで、内部的には以下の流れで処理が進み、ページが表示されます。選択されたテンプレートを読み込み、ページを表示それぞれの処理について、連載記事で掘り下げます。当記事では以下に概要を説明します。初期化処理ページが読み込まれる際、以下のように各種セットアップ処理が実行されます。カスタマイズ初心者は読み飛ばしてもらってもいい内容です。子テーマのfunctions.phpが先に読み込まれるプラグインの読み込みはテーマの読み込みの前に行われることです。子テーマを作る、プラグインを作る際には意識すべきポイントです。リクエストされたURLを元に、表示するページ種類・データを特定WordPressではリクエストされたURL(例、http://example.com/?p=1)を元に、取得すべきデータを判定します。管理画面でパーマリンクを設定することで、ユーザーに表示されるURLをカスタマイズすることができます。パーマリンクとはルートURL以降の部分を指します。このURLはWordPressのパーマリンク設定がデフォルトの場合の、投稿ID=1の投稿記事URLです。投稿ID=1の投稿記事=特定されたデータです。データベースから特定されたページ種類に基づくデータを取得リクエストされたURLからページ種類(投稿ページ、カテゴリアーカイブ等)が判明したら、ページ種類に応じたデータ取得処理が自動で行われます。データ取得処理はWP_Query関数で実行されます。リクエストされたURLに応じてWP_Query()で条件を設定し、データを取得するイメージです。この処理のことをWordPressではメインクエリと呼びます。以下のように表示するページのメインコンテンツデータに変更がある場合はメインクエリをカスタマイズします。メインクエリとサブクエリメインクエリとは別にサブクエリと呼ばれるものもあります。かんたんに言うと、ページのサブコンテンツに該当するものを取得するためのクエリです。表示する投稿ページ下部に関連記事を表示する場合などです。自分がカスタマイズする内容がメインクエリなのかサブクエリなのかを意識する必要があります。どちらかによってカスタマイズ方法が異なります。特定されたページ種類に応じたテンプレートを選択リクエストから特定されたデータを取得できたら、対応するテンプレートファイルを決定します。テンプレートファイルとは、投稿記事ページやアーカイブページなど、対応したページを表示するためのファイルです。多くの場合、HTMLやCSSなど該当ページの見た目を定義しているファイルです。テーマには以下のようなデフォルトテンプレートがあります。サイト共通のサイドバーパーツこれらを直接編集してもいいですし、例えば、特定のカテゴリアーカイブ用に別途テンプレートファイルを作成し、カスタマイズしてもいいです。ここで理解する必要があるのは、どのようにテンプレートファイルが決定されるかです。自分がカスタマイズしたテンプレートファイルをどうすれば読み込ませることができるのかが重要です。選択されたテンプレートを読み込み、ページを表示ここでようやくページが表示されます。ページを表示する際、ループと呼ばれる処理を実行し、投稿を順番に表示します。メインクエリの取得データを表示する処理を特にメインループと呼びます。見た目はHTMLとCSSで記述し、それをWordPressの関数(PHP)を使って処理します。ちなみに、投稿記事ページの場合、メインクエリのデータ件数は1件ですが、ループで処理します。これは不思議ですがWordPressの仕様なので割り切ってください。まとめいかがでしたでしょうか。当記事ではまずはページ表示までの流れをざっくり理解していただけたらと思います。処理の流れのなかでどの部分をカスタマイズすればいいのか考えるのが正しいカスタマイズの第一歩です。2017-01-26Amazonで最安値を探すスポンサーリンクこの記事が気に入っていただけたらシェアお願いします。コメントをキャンセルメールアドレスが公開されることはありません。Web担当者として日々学んだことを書いていきます。