現在はWordPressをインストールする方法で「簡単インストール」機能を使用してWordPressが始めやすくなりました。
しかしWordPressが始めやすくなった反面、インストールされたWordPressのファイルが、どこの場所にあるのか、どんな処理をしてサイトのページを表示してるか構造を理解できないことが多いんですね。
WordPressの構造とファイルの場所の理解を「できてる」と「できていない」ではエラーが発生したときの対応も違いが出るようになります。
WordPressについて
WordPressはデザインとカスタマイズ性に自由度が高い動的な動作を得意とするCMSです。
WordPressはサーバーにインストールされ、サイトに表示される情報はデータベースに格納しています。
WordPressのPHPファイルの記述を元に格納してるデータベースの情報を実行して動的なサイトのページが表示される仕組みですが、WordPressはHTMLファイルが存在しません。
WordPressはPHPという言語で作成したファイルで構造化されていて、ページに必要なデータはWordPressがMySQLに格納されてる情報を読み込んでサイト表示させる時にHTMLを作ります。
動的なPHP言語で作られて動的な構造でファイル処理をすることがWordPressの特徴になるのではないでしょうか。
WordPressの構造を知るために必要な知識
先ほど出てきた用語「PHP」と「MySQL」の知識はWordPressの構造とファイルの理解には必要なことです。
なぜならWordPressはPHPを使い必要なファイルを作り、WordPressに必要なデータを保管してるところはMySQLだからです。
PHPとは?
PHP(ぴーえいちぴー)とはプログラミング言語の一種で静的言語ではなく動的言語の仲間です。
静的なHTMLに組み込んで一緒に使うことができるPHPは、サーバー側で動く人が使うことが多く、サーバーサイドアプリケーションの開発に特化したプログラミング言語です。
主な特徴は
- Web用にデザインされた言語
- HTMLに組み込んでプログラムを記述することができる
上記二つがありますが今回の記事で重視したいことは「HTMLに組み込んでプログラムを記述することができる」ことが今回の記事内容に関係してきます。
MySQLとは?
MySQL(まい・えすきゅーえる)とはオープンソースで公開されてる関係データベース管理システムです。
使用用途に関係した情報を格納するために使用する倉庫のようなもので「データベース」といいます。
そしてMySQLで使う言語はSQLと言います。
データベースを操作するための言語であり、データの追加とか削除ができるコンピューターに命令するための言語。
今回の場合はWordPressのデータベースはMySQLで、WordPressのベースになるデータが格納されてるという事になります。
WordPressファイルが表示される仕組み
WordPressのファイルが表示される仕組みは、まずブラウザから要求された情報をWordPressが受け取ります。
そのあとWordPressが起動する処理とサーバー上のWordPressファイルに書いてあるPHP言語を元に、要求されたページに関係する内容に合った情報をMySQLに取りにいきます。
そしてMySQLに格納された情報を読み込みページを表示します(投稿、固定ページ内容のコンテンツなど)
読み込んだPHPファイルとデータベース情報は、読み込みや埋め込みをしながらHTMLファイルを生成してリクエストされたサイトの情報を表示させる仕組みになります。
ここでわかる基本的なことはWordPressとMySQLは紐づけされていないとサイト表示はできないということと、サーバー処理能力が低ければサイト表示速度にも影響が出る可能性があるということになります。
WordPressのディレクトリ構造と場所
では実際にWordPressのディレクトリ(フォルダ)達はどの場所にあって、どのような処理ができるファイルを格納しているのか?
サーバーFTPとFile Zilla(FTP)を開いて、それぞれのディレクトリの場所を特定していきたいと思います。
上記3つのディレクトリの場所はルート「/」からpublic_htmlの中にあります。
もし、どこにあるか分からない場合はpublic_htnlの場所を基準にするようにすると、WordPressのファイルは下に下がるだけになるのでWordPressのディレクトリだけでなく、ファイルの場所も分かりやすくなります。
使用するレンタルサーバ―によって若干ディレクトリ構成で場所が違うかもしれませんが、WordPressイントールで生成されるファイルの違いはないと思いますのでディレクトリの把握ができればファイルの場所を特定することは簡単になります。
wp-admin
wp-adminは管理画面の表示
WordPressで管理画面を表示するファイルが入ってる場所です。
URLを確認するとwp-adminがパス表示されるので、wp-adminには管理画面に使用するファイルが入ってる場所なんだとわかりやすいです。
wp-adminはWordPressのバージョンでどのサイトでも共通した構成ファイルが入っていて地道に改良が加えられていきますが、いじる必要のないフォルダです。
wp-content
wp-contentはテーマやプラグインに使用するファイルが入ってる場所です。
wp-contentの中にはWordPressで使用してるテーマファイルも入ってる場所なのでFTPで開く事が多いと思います。
ディレクトリ構成の中で、いじっていいのもwp-contentだけと言えると思います。
wp-includes
wp-includesは関数やAPIに関係するファイルがある場所です。
管理画面の個別機能とかメール送信機能などの個別機能を動かすファイルがあります。
このフォルダもユーザーがいじらないほうが良いです。
上記3つのディレクトリの場所を土台として、それぞれに関係するファイルが入っています。
WordPressファイル構成と場所を理解する
ここでは先ほどの3つのWordPressのディレクトリ下にあるファイルの意味と場所が分かるようにします。
まずはWordPressファイルの種類と意味を紹介します。
index.php | ファイル構成の基本的なファイルとトップページ表示 |
wp-activate.php | ユーザーアカウントを有効化 |
wp-blog-header.php | wp-load.phpとテンプレートファイル読み込み |
wp-comment-post.php | コメント機能ファイル |
wp-config.php | DB設定情報が書いてあるファイル |
wp-cron.php | WordPress自動処理システム管理 |
wp-load.php | 関数やクラス定義が書かれたファイル読み込み |
wp-login.php | ユーザー登録、認証に必要なファイル |
wp-mail.php | メールからブログ投稿する機能の記載ファイル |
wp-setting.php | WordPressの初期設定 |
wp-signup.php | ユーザー名、サイト名、アドレス等サイト登録に必要ファイル |
wp-trackback.php | トラックバックに必要ファイル |
xmlrpc.php | 管理画面以外から記事投稿 |
licence.txt | WordPressライセンスが記載のファイル |
readme.html | WordPressの説明書 |
上記のwpファイルの場所はルートからドメイン/public_htmlの中に入ってます。
WordPressのファイルの場所がどこにあるか探すときも、ディレクトリの場所と同じくpublic_htmlを基準の場所にしてみてください。探しやすくなります。
WordPressの起動ファイルが読み込まれる順序
次はWordPressが起動するときにファイルが読み込まれてページ表示するまでの順序です。
WordPressのファイルの場所は、上記で説明した「wp-admin」「wp-content」「wp-includes」3つのフォルダ(ディレクトリ)の下に関係するファイル達が分けられてあります。
サーバーFTPで該当のphpファイルを開いて記述を見ながらファイル読み込み順序を追いかけます。
そうすると、さらにファイル構造がわかりやすくなるので、読み込まれる順序を確認してるうちにファイルの場所の覚えも早くなります。
index.php
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
index.phpがWordPressのエントリーポイントになってます。
dirname(__FILE__)でwp-blog-header.phpをrequireでインクルード
wp-blog-header.php
require_once( dirname( __FILE__ ) . '/wp-load.php' );
require_once( ABSPATH . WPINC . '/template-loader.php' );
wp-blog-header.phpに進んでwp-load.phpを一回だけ読み込む、そしてwp-includesディレクトリのtemplate-loader.phpを一回だけ読み込み。
wp-load.php
require_once( ABSPATH . 'wp-config.php' );
require_once( dirname( ABSPATH ) . '/wp-config.php' );
wp-load.phpでwp-config.phpのルートとドキュメントルートを一回だけ読み込みます。wp-config.phpがなければエラーとして作成するかになる。
ちょっと自信ないけどwp-configがあるということはWordPressのインストールが完了している証拠(wp-config.phpにDB情報などがあるため)
なので次の処理に進む
wp-config.php
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
require_once(ABSPATH . 'wp-settings.php');
wp-config.phpでDB情報読み込み。ABSPATHがない場合はルートをセットして、その中のsetting.phpを一回だけ読み込む。
wp-settings.php
wp-settings.phpでWordPressを動かす基本設定するためにincludeaフォルダ(ディレクトリ)のファイル読み込んで設定する
template-loader.php
そしてテンプレートを読み込む
(temlate-loader.phpの記述画像)
wp-includes.php/template-loder.phpでsingle.php/serchi.php/index.phpを読み込む。