LoginSignup
3
2

More than 3 years have passed since last update.

WordPressのディレクトリ/ファイルの役割を学ぼう

Last updated at Posted at 2020-06-10

概要

WordPressのプロジェクト上のディレクトリや、
バックエンド処理を行うソース・設定ファイル等についてのメモ。

  • ブラウザ等からGUI上でWordPressを操作したことがあるが、バックエンドについても覚える必要が出てきた
  • WordPressのディレクトリ構成をざっくり知りたい
    というようなときにお役立てください。

今回はdocker-composeを使い環境構築をしているので、その場合は以下が前提です。

  • Docker上でWordPressのローカル実行環境が整っていること
    手っ取り早くDockerの設定ソースを見たい方は以下からどうぞ。
    https://github.com/nsktdeluxe/wp-practice_2

  • docker-compose upでコンテナが起動していること

サーバーにソースをアップロードしている場合はFTPソフトなどで確認を行ってください。

WordPressのコンテナに入る

現在起動中のコンテナを確認する

$ docker container ls



コンテナ一覧が表示されるので、中身を見たいWordPressコンテナのNAMES要素をコピー。
下記画面では「wp-practice_2_wordpress_1」(画像右上ハイライト箇所)

起動中のコンテナ一覧

コピーしたものを以下のbashコマンドにペーストして叩く

$ docker exec -it wp-practice_2_wordpress_1 /bin/bash



これでWPのコンテナ内に入ることができました。
ホームディレクトリで$ ls -alすると、以下のようなディレクトリ一覧が出てきます。
Wordpressのディレクトリ一覧

今回はこの中から、ホームディレクトリ直下の各種ファイルと
最低限覚えておきたい主要ディレクトリ4つについて説明します。

ホーム直下のファイル

①〜⑥はphpの起動する順です。

ファイル名 説明
.htaccess Apacheの設定ファイル。サーバの挙動を決める。
index.php ( ① ) サーバにアクセスされたときに最初に読み込まれるページ。
テーマが使われているか(boolean型の定数'WP_USE_THEMES')をチェックして、require関数を使い ② を読み込む。
license.txt ライセンスに関するテキストファイル(サーバーにアップロードする必要はない)
readme.html WordPress のインストールや基本的な情報を記載したファイル(サーバーにアップロードする必要はない)
wp-activate.php ユーザーアカウントに関するファイル
wp-blog-header.php ( ② ) WordPress 環境に関連するファイルをロードするファイル。 ③ と ⑥ を読み込む。
wp-comments-post.php コメント投稿に関するファイル
wp-config.php ( ④ ) DBやデバッグモード、WPで使用する絶対パス等の設定をするファイル
wp-config-sample.php インストール時にこのファイルを元に設定ファイルを作成することができるサンプルファイル。インストール後は wp-config.php という設定ファイルが生成される
wp-cron.php 擬似 cron ジョブ(ある種のスケジューリング機能)を担うファイル
wp-links-opml.php リンクの XML 出力に関するファイル
wp-load.php ( ③ ) 名前の通り、WordPress の動作や起動に関連するファイル ④ をロードするファイル。
wp-login.php 管理画面のログインに関するファイル
wp-mail.php メールによるブログ投稿用ファイル
wp-settings.php ( ⑤ ) wp-includesを読み込むファイル
wp-signup.php ブログ名やユーザー名などの設定に関するファイル
wp-trackback.php トラックバックと Ping 送信用ファイル
xmlrpc.php XML-RPC 通信に関するファイル
wp-includes/
template-loader.php ( ⑥ )
テーマフォルダからsingle.php、search.php、index.phpなどを読み込むファイル

主要ディレクトリ

1. wp-admin

管理画面に関するファイルを格納するディレクトリ。管理画面の表示に使われるadmin.php、HTML(PHP)、CSS、画像ファイル等から構成されている。
Wordpressをアップデートするとここの内容も最新版に置き換わってしまうため、管理画面のカスタマイズをするにはfunctions.php(後述)を編集するかプラグインを使用する。

2. wp-includes

API、クラス、関数などのプログラムファイルが格納されている。
ここもWordpressをアップデートすると最新版に置き換わる。

3. wp-content

サイト構築に関わるファイルが格納されている。

  • languages……多言語に対応するための翻訳ファイルが入っている
  • plugins……プラグインが入っている
  • themes……テーマ(次項4.で説明)
  • upgrade……アップデート時に利用するもの
  • uploads……画像や動画など。初期状態では存在しないが、アップロードをすると自動的に作成される
  • index.php……フォルダ一覧が見えないようにするためのダミーのindex(これはプロジェクト内各所に存在する)。
    中身を見ると// Silence is golden.(沈黙は金)というコメントだけ書かれている。

4. wp-content/themes

初期状態では'twentynineteen'、'twentyseventeen' などのディレクトリに公式テーマが置かれている。
テーマを作成する場合は、ここに任意の名前でディレクトリをつくりテンプレートファイル(ページの表示のしかたを決めるもの)、css、jsなどを配置する。

テーマファイルの中身

(例:wp-content/themes/twentynineteen)

style.cssindex.phpの2ファイルが必須(これらがあればテーマとして認識されるようです)。

テンプレートファイル

ファイル名 説明
404.php 404 not foundのページを出力する
archive.php アーカイブ(一覧)ページを出力する
category.php カテゴリーごとのアーカイブ(一覧)ページを出力する
date.php 日付ごとのアーカイブ(一覧)ページを出力する
front-page.php サイトのトップページを出力する
home.php ブログのトップページを出力する
index.php 他に適切なテンプレートが存在しない場合に最終的に使用されるファイル
page.php 個々の固定ページを出力する
search.php 検索結果のページを出力する
single.php 個々の投稿のページを出力する
tag.php タグごとのアーカイブ(一覧)ページを出力する
author.php 作成者別のアーカイブ(一覧)ページを出力する

スタイルシート(css)

ファイル名 説明
style.css 必須ファイル。冒頭にテーマ情報*を記載する。
style-editor.css,
style-editor-*.css など
エディタ用css

*テーマの名前(必須)、URI、テーマのライセンス、ライセンスのURIなど。

共通パーツファイル

indexや固定ページ、記事のページなどで各パーツを表示するために使用する。

ファイル名 説明
footer.php フッターの共通パーツ
header.php ヘッダーの共通パーツ
sidebar.php サイドバーの共通パーツ

コンテンツファイル

ファイル名 説明
content.php 記事の中身を表示するためのファイル
content-*.php 同上

function関連ファイル

ファイル名 説明
functions.php 現在のテーマに新しい機能を追加したいときに編集するファイル
inc(ディレクトリ) function.phpで使用しているテンプレートファイルが入っている

*レイアウトを変更する時は、主にfunctions.phpstyle.cssを直す。
必要に応じて共通パーツファイルに手を加える

参照

https://www.webdesignleaves.com/pr/wp/wp_folder_structure.html
https://www.nishi2002.com/27755.html
https://www.slideshare.net/michirosakamoto/10wordpress
https://www.webdesignleaves.com/pr/wp/wp_templates.html

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2