Top Blog(category) contact form

single.php

オリジナルテーマでブログサイトを作成する【WordPressのディレクトリ構造】

目次

WordPressのオリジナルテーマでサイトを作成する場合、プロジェクトファイルにWordPressのテンプレートファイル類をインストールします。WordPressのファイルはPHPで作成されているため、自分のPC上で動作させるにはローカル環境下でプロジェクトのPHPプログラムを動作させるソフトウェアが必要です。一般的に使用されるのはLOCAL by FlyWheelです。WordPress使用したプロジェクトの作成からブラウザで開発中の画面の確認、WordPress編集管理画面 へのアクセスボタンも搭載されており、直観的な操作ができます。

このプロジェクトファイルに書き込んで開発をしていくわけですが、インストール済のWordpressのソースファイルには様々な設定がされています。まずテンプレート階層が実装されていて、特定のファイル名を作成するとプログラムが自動的にルーティング処理を行ってくれます。そのため各記事のページを作成したい場合は、オリジナルテーマのディレクトリに『single.php』を作成すると予めWordpressプログラムに『single.php』は各記事の個別ページとして使用するという設定がされているため、投稿した記事を表示する際は『single.php』が表示されます。

WordPress管理画面で記事を投稿すると記事のデータは自動的にデータベースに保存されます。投稿内容のタイトルや本文、サムネイル画像情報はブラウザの画面に出力される際に自動的にクラス名が付与され、1からPHPコードを記述しなくてもテンプレートタグを使用するだけで簡単に記事情報を読み込むことができます。

項目内容
テンプレート階層どのPHPファイルがどのページで使われるか決まる仕組み
テンプレートタグthe_title()the_content()などの簡単な関数
ループ(The Loop)記事一覧を出力する基本構造(while ( have_posts() ) : the_post();
カスタム投稿タイプ(CPT)記事以外のオリジナルコンテンツを作る仕組み
カスタムフィールド(ACFなど)記事に追加情報(例:価格、日付)を持たせる仕組み
アクションフック・フィルターフックWordPressの処理に自分のコードを差し込む仕組み
プラグインの基本構造独自機能をプラグインとして追加するための最低限の知識
セキュリティ対策(エスケープ処理)出力時に悪意あるコードを防ぐ (esc_html()など)

既に用意されているWordpressファイル群(PHP)やテンプレートタグを使用して開発するのは、フレームワークの使用方法と非常に似ています。wordpressがPHPのフレームワークlaravelと異なる点はwebサイト構築に特化している点。また一般ユーザー向けのため、ソースコードではなく管理画面からコンテンツを視覚的に編集することもできるように設計されています。

比較項目WordPressLaravel
目的Webサイトやブログ構築に特化汎用的なWebアプリケーション開発
ターゲット一般ユーザー+開発者開発者向け
操作方法管理画面(ダッシュボード)中心コードを書くことが前提
カスタマイズ方法PHP+独自の仕組み(テーマ・プラグイン)で拡張自由にPHPで設計(フレームワーク機能活用)
インストール直後すぐにサイトが作れる(初期テーマあり)自分で設計・機能追加する必要あり

まとめ

  • WordPressは**「Webサイト制作専用のCMS」「簡易フレームワーク的な性質」**を持っている。
  • Laravelは**「アプリケーション開発専用のフレームワーク」で、管理画面も基本的には自作**です。