WordPressの仕組みを興味ない人にざっくり伝える。「webで何か」作るブログスマートフォン用の表示で見る「webで何か」作るブログ35歳という遅すぎるスタートをなんとかする為のブログです。基本的に自分にとっての役立ちメモ。この広告は、90日以上更新していないブログに表示しています。2017-05-07WordPressの仕組みを興味ない人にざっくり伝える。今、WordPressのテーマ作成を業務で行なっているのだけど、細かく書くべき備忘録がたくさん溜まっている。全てを書くのはいつになるやら、という感じ。WordPress全体の仕組みについて、私なりの解釈を書いておきたい。意外に、WordPressがどういった仕組みで動いているのかをざっくり書いてくれている記事は少ない気がするので。WordPressとはなんなのか?私的には「フレームワークの一つである」と考えた方が良いと思ってます。実際にWordPressのテーマ作りを行なってみた結果、意外にPHPの根本的知識やプログラミング的素養は(ほとんど)必要なかったことがこの答えに対しての理由です。WordPress関数という便利な機能がセットになっていて、「お作法」を覚えれば一定レベルのものを作ることができる、というのは非常にフレームワーク的だなと思います。WordPressってなに?と言われたら、主にブログ用なシステムのフレームワークですと答えます。なんとなく仕組みを理解するWordPressが実はフレームワークだとして、それでも動作の仕組みが気になるものです。文章だけでは解説が難しいので簡単な図を書きます。WordPressサイトの表示の仕組みWordPressにおいて、記事はテキストデータとしてDBに保管されており、画像や動画などのデータはただデータとしてサーバーに保存されています。これらをウェブサイトとして表示するためにはHTMLが必要になりますが、その雛形となるのがsingle.phpやpage.phpなどのテンプレートファイルです。記事投稿から閲覧の流れどっかからふざけるなと声が飛んできそうなざっくり具合で説明すると、WordPressはこんな感じで動いている。記事が投稿されるURL、記事本文と画像など各データとパスがデータベースに記録されるURLから、どのテンプレートに当てはめるべきかを判別するアクセスのあったURLに関連するデータをテンプレートに当てはめて表示するWordPressでサイトを作るとはどういう事か?WordPressでサイトを作る時には、どういった情報分類が必要か?デザインパターンをいくつ作るのか?の整理が重要になってくる。具体的な問いとしては、過去記事一覧が必要か?カテゴリ毎のメニューが必要か?などがあげられるけれど、問いに対してイエスが増えるたびにテンプレートを増やす可能性も増えていくから。WordPressで使われるテンプレートをこれまた簡単に紹介しておく。代表的なテンプレートタイプfront-page.phpサイトのトップページとして使用するテンプレート。page.php固定ページに使用されるテンプレート。single.phpと違い時系列を持たないので、archive.phpに当たるテンプレートを持たない。single.phpWordPressには「投稿ページ」と「固定ページ」がある。single.phpは投稿ページのためのテンプレート。archive.phpへ、時系列を持って表示させることができる。archive.phpsingle.phpがブログの投稿だとして、そのindexページとも言えるページのテンプレート。タイトルだけ出力するのか?サムネイルも表示するのか?その辺りを設定していくことが多い。テンプレート階層とは?WordPressは要求されたデータをどのテンプレートに当てはめるべきか?という判断を、各テンプレートへ「優先度」をつけることで自動化しています。それが「テンプレート階層」という言葉の意味するところです。例えを出すと、ここでは紹介しませんでしたが、category.phpというテンプレートタイプも存在します。カテゴリーの過去記事を一覧で見たい、というリクエストがあれば、まずはこのcategory.phpのテンプレートを探し、なければarchive.phpで代用する、というようなことをWordPressのコアにおいてプログラムされているのです。結構な量になってきたのでこの辺で終わります。00:29WordPressの仕組みを興味ない人にざっくり伝える。»プロフィールid:pochiweb35歳という遅すぎるスタートをなんとかする為のブログです。基本的に自分にとっての役立ちメモ。見積もりワークショップに参加してきた2018年を振り返っておくサービス作りの記録:第0回(2018/7/15)月別アーカイブ参加グループプログラミングはてなブログをはじめよう!pochiwebさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。