WordPressの仕組みって?テーマと投稿を表示するプログラムを解説
こんにちは。あきのりです。フリーランスプログラマーをやってます。
ブログを構築する人、企業サイトを構築する人の中にはWordpressというものにお世話になっている方も多いと思います。
そんなWordpressなんですが、仕組みの部分が不透明で、Wordpressを構築したいプログラマーの方などは「仕組みを理解できなくて無理」ということに陥りがちです。
なので、今回はWordpressがどうやって動いているのかというのをかみ砕いて解説したいと思います。
そもそもWordpressとは
一応改めてWordpressについて説明しておくと、webページを直感的に作るための無料ツールです。
大雑把に以下の2つの役割を持っています。
- テキストを打ち込んでwebページを作る
- 保存したテキストを美しく表示する
要は、マイクロソフトofficeの「ワード」のように文章を作成して、「パワーポイント」のようにきれいに表示させるということです。
WebページというのはHTMLというプログラミング言語でできていて、HTMLファイルをサーバーに置くことでWebページを作ることができます。
ただ、全員が全員HTMLを書けるわけでもないし、そもそもwebページを作るたびにプログラムを書くのは面倒ですよね。
ブログで100記事書きたいというときに、HTMLファイルを100個も作るのは気が遠くなる話です。
でも、WordpressだとマイクロソフトのWordみたいに文字を打ち込んで、色を変えたり、太文字に変えたりをするだけwebページが作れるというわけです。
その文字を打ち込むだけでどうやってwebページが生成されるのか、というところがこれからの本題です。
WordPressのファイル構成
WordPress公式ページからwordpressをダウンロードしてファイルを確認してみましょう。
-wp-admin
|-...
-wp-content
|-...
-wp-includes
|-...
-index.php
...
大事なもの4つだけ取り上げます。
- wp-admin:管理画面に関するフォルダ
- wp-content:テーマやプラグインに関するフォルダ
- wp-includes:システム全般に関するフォルダ
- index.php:ページを表示するために最初に読み込まれるファイル
残りのファイルはヘッダー部分やコメント部分といった、要素を分けたものです。
一番最初にindex.php
にアクセスされて、そこからヘッダーを読み込んだり「wordpressテーマ」というデザインを適用させたり…という処理が順に行われ画面が表示されていきます。
利用者にとってはこれらのファイルをいじることはなく、wordpressプログラマも基本いじるのはwp-content
内にあるthemes
くらいです。
投稿データはMySQLにテキストとして保存される
次は、「wordpressの管理画面で記事を書いて保存をした後、そのデータはどうなっているか」です。
書いた記事やカテゴリー、urlなどはMySQLというデータベースですべて管理されています。
Xserverユーザーでしたら、サーバーパネルの「phpadmin」というところから見ることができます。
その中の「〇〇_wp9」の中にあるwp_posts
という項目をみてください。
こんな感じで、記事の作成日、内容、タイトルなどなど、記事に関するいろんな情報がこの中に詰め込まれているんですね。
post_content
に文字だけで保存されています。とてもシンプルで面白いですね。
ちなみに、「投稿」や「固定ページ」の区別のこのwp_posts
テーブルの中のpost_type
で区別されています(なんて、単純!)。
データベースからデータを取得しテーマを元にデザインが適用される
記事はデータベースに「文字」として保存されることが分かりましたが、となると表示する際にはどうなっているんでしょうか?
僕のサイトのように見出しを分かりやすくしたり、箇条書き部分を装飾される過程ってなんでしょうか?
そこで出てくるのが先ほどちょっと触れたワードプレステーマというものです。
このテーマが持つレイアウトだったりデザインを通して記事を表示させています。つまり…
- URLでアクセスする
- URLを元にデータベースから記事情報を取得する
- ワードプレステーマのデザインを適用する
- Webページを表示する
こういう流れになっています。
これがwordpressの大まかな構造です。
まとめ
最初にwordpressを使ったときは何が何だか分からなかったと思うんですが、構造を見ると非常に単純なのが分かります。
1つだけ誤解が無いように付け加えると、wordpressはあくまで記事の作成・表示の仲介をするだけのツールです。
記事のすべてをwordpress内に保存しているというわけではないです。(保存されているのはサーバー内のデータベース)。
wordpressの中身を知ると自分向けにカスタマイズできたりとメリットも多いのでぜひ理解してください。
ではでは、今日も一日頑張りましょう。
スポンサードサーチ
人気記事英語学習用SNSをLaravelで作ってみた【システム解説あり】