WordPressで使うPHPの基礎知識

この記事は最終更新日から221日経過しています。

前回のレッスン【図解】サーバー(Webサーバー)って何?

WordPressはPHPというプログラミング言語で構成されていることをご存知の方も多いと思います。

しかし、なかには「PHPがWordPressの中でどういう役割をしているのかよく分からない」と感じる方もいらっしゃるのではないでしょうか。

この記事では、「PHPがWordPressの中でどのようにページを表示しているのか」といった点を中心に、PHPの編集方法やPHPと他の言語の違いについてご紹介します。

スポンサーリンク




PHPとは

PHPとは、動的にWebページを生成できるプログラミング言語の一つです。

ご存知の方も多いと思いますが、WordPressではPHPによって動的にページが生成されています

動的にページを生成できることで、Web制作にかかる時間やコストを大きく削減できるという利点があります。

● 動的な生成とはプログラムでの生成

「動的にページを生成する」という言葉を何度も使用しましたが、動的とはどのような意味合いなのでしょうか?

簡単に言うと、「動的にページを生成する」とは「プログラムでページが生成される」ということです。

PHPに関心のある方は、ごく一般的なWebサイトがHTMLファイルをもとにして作成されることをご存知の方も多いと思います。

一般的にプログラミング言語を使用せずに、HTMLファイルのみで作成されたWebページでは、1つのHTMLファイルが1つのページを構成します

つまり、HTMLだけで書かれた100ページのWebサイトには、100個のHTMLファイルが存在するということです。

このように、プログラムを使用せずに始めからすべてHTMLで記述されているページやWebサイトを、「動的」という言葉と対照に「静的ページ」「静的サイト」などと呼びます。

そして、PHPなどを使用してプログラムで生成されたページやサイトを「動的ページ」「動的サイト」と呼びます。

動的ページは静的ページでは対応できない時に必要

動的ページが必要な例として、たとえば、Webサイトに「会員登録」システムがあり、会員が「会員専用ページ」にログインしたら、登録している氏名や住所・電話番号などを確認できるページを作るとしましょう。

ここでもし、会員専用ページをすべて静的ページで作るとすると、会員が100人いたら100個のHTMLファイルを用意しなければならないことになります。

さらに、一つ一つのHTMLファイルに会員ごとに氏名や住所などを書き込んでいかなければなりません。

そんなことをしていたら会員ページをつくるだけでも数日かかるかもしれませんし、もし一人の人が住所を変更したら、その人のページを探し出して該当箇所を書き直す作業も必要になります。

もし会員が1000人に増えてしまったら・・・もう手に負えなくなってしまいますね。

動的ページは、そういった静的ページでは対応できない時や管理が難しい時に必要になります。

image

動的ページであれば、静的ページのように1つ1つのページに個別の情報を記述しなくて良いということですね。

動的サイトに欠かせないデータベース

では、なぜ動的ページであれば会員一人一人の情報をページに記述しなくて済むのでしょうか?

それは、動的ページの生成に必要な情報を保管しておく「データベース」という仕組みがあるからです。

会員専用ページでいえば、「会員名簿」のような役割をするのがデータベースです。

静的ページではなく動的ページとして記述された会員専用ページは、このデータベースからログインした(今ページを見ている)会員の住所や電話番号を取得してページに表示します

つまり、データベースがあることで、ページ側では

ログインした会員の情報をデータベースから取得してページに書き出す

という命令を、PHPで記述しておくだけで済むということです。

動的ページが1ページあれば、PHPで会員情報を入れ替えることで1000人、1万人の会員がいても一人一人に個別の情報を表示することができるのです。

WordPressがページを生成する仕組み

データベースについて触れましたが、データベースの存在を知ることは、WordPressがページを生成する仕組みを理解するためにとても重要です。

PHPとは?でも書いたように、WordPressはすべてのページが動的ページとして生成されています。

つまり、すべてのページでPHPとデータベースのやり取りがおこなわれているということです。

そして、すべてのページが動的ページということは、WordPressユーザーの情報だけではなく、サイトの基本情報や一つ一つの記事も含めてすべての情報がデータベースに保管されているということになります。

それでは、たとえばWordPressが1つのページを動的に表示する時には、どのような情報をデータベースから抜き出してくるのでしょうか?

1つのページを例に取ると、ページ内の次のような情報をデータベースから取得して表示します。

  1. サイトタイトル
  2. グローバルナビゲーションのメニュー
  3. サイドバーのメニュー
  4. 記事タイトル
  5. 記事コンテンツ
  6. フッターのコピーライト

ページ内のほぼすべての情報が、動的に表示されていることがわかりますね。

動的ページを用意して、そこに必要なデータ(情報)をはめ込むことでページを生成するという動きが、WordPressがページを表示する仕組みの基本になります。

image

1つの動的ページというフォーマットがあれば、はめ込む情報を変えることで、別のページを生成することができるということなんですね。

PHPファイルの編集方法

image

WordPressの基本となるPHPファイルの編集方法を見ていきましょう。より具体的な編集方法については別のページでもご説明します。

実際にWordPressのPHPはどのように編集ができるのでしょうか?

WordPressはPHPファイルで構成されていますが、私たちはすべてのPHPファイルを自由に編集できるわけではありません。

WordPress本体を動かしているPHPファイルはコアファイルと呼ばれます。

代表的なコアファイル

  • index.php(ルート)
  • wp-config.php
  • wo-load.php
  • wp-settings.php

基本的に私たちは、このコアファイルを編集することはありません

私たちがWordPressをカスタマイズする時に編集するPHPファイルはテンプレートと呼ばれるものです。

代表的なテンプレート

  • index.php
  • header.php
  • footer.php
  • sidebar.php

WordPress本体の動作に変更を加えたい時でも、このテンプレートを使用して修正をおこないます。

image

WordPressの構造やテンプレートについては、別のページでも詳しく取り上げますね。

このテンプレートを編集する方法には、次の2つがあります。

  1. サーバーから編集したいテンプレートをPC(ローカル)にダウンロードし、PCで編集した後に再度アップロードして更新する
  2. WordPressの管理画面「外観」⇒「テーマの編集」から編集・更新する

▲ WordPressのテーマの編集画面

ただし、②の方法は誤ったコードを記述してしまった時などに画面が真っ白になってしまったり、管理画面にアクセスできなくなってしまう可能性がありますのでおすすめできません。

できる限り①の方法でテンプレートの編集をおこないましょう。

PHPとHTMLやJavaScriptの違い

WordPressでは、PHP以外にもHTMLやJavaScriptという言語が使用されています。

WordPressにどういう言語が使われているかすでにご存知の方でも、それぞれが具体的にどう違うのか理解しづらいという方もいらっしゃるかもしれません。

ここでは、PHPとHTML・JavaScriptの違いについて見ておきましょう。

HTMLは構造をつくる言語、PHPは動きをつくる言語

HTMLを簡単に言うと、ページの骨組みをつくるための言語です。

PHPは、これまで述べたように動的にページを生成する言語です。

HTMLはページを構成するテキストや画像を構造化するための言語ですが、PHPはテキストや画像の表示も含めてページ全体を動的に表示する言語です。

それぞれ役割がまったく異なります。

ここで重要なことは、役割が違ってもHTMLとPHPは別々に使用する言語ではないということです。

役割が違うからこそ、どちらの言語も必要です。

HTMLはページの骨組みをつくる言語ですので、もちろん動的ページの中でも使用しますし、PHPでHTMLを出力することもできます。

動的なページだからといってHTMLを使用しなかったら、文章や画像がプログラムでただ表示されているだけの無味乾燥なページになってしまいますね。

HTMLでページの骨組みをつくるからこそ、そこにデザインという内装をほどこすことができます。

そして、PHPでページを動的に変化させられるからこそ、時間や状況・見ている人に合わせてページを柔軟に表示することができるのです。

JavaScriptはブラウザで動き、PHPはサーバーで動く

JavaScriptは、PHPと同じプログラミング言語です。

しかし、動く場所が異なります。

JavaScriptはブラウザで動いて、PHPはサーバーで動きます。

ブラウザとサーバーの関係については、次の記事もご参考ください。

PHPはサーバーで動くプログラミング言語ですので、たとえばページ内の「A」というテキストを「B」に変更するためには、サーバー側でテキストを書き換える処理が必要になります

そのため、インターネットに接続していない状況ではサーバーにアクセスできないので、ページの書き換えをすることができません。

一方で、JavaScriptはブラウザで動くプログラミング言語のため、インターネットに接続していなくても処理はすべてブラウザでおこなうことができます

その代わり、JavaScriptのみで書き換えた内容はPHPのようにデータベースに保存していないため、あくまでブラウザで表示を変更しただけの一時的な処理になります。

会員情報の書き換えのようにデータベースの情報そのものを書き換える必要がある場合は、必ずPHPで処理をおこなう必要があります。

また、JavaScriptもPHPと同じプログラミング言語ですので、表示の処理以外にも、ブラウザだけで完結するような動きをページに付けることができます

たとえば、このページをPCで見た時に右下に表示されている↑矢印をクリックするとページの上部へ戻ります。

この処理はJavaScriptで作られています。

スマホから見ている時には、右上のメニューボタンをタップするとメニューが開きます。

このメニューが開く処理もJavaScritpで記述されています。

このように、ページにさまざまな動きを付けて、Webサイトをより豪華に演出することもJavaScritpの重要な役割です。

その点、サーバーで人知れず淡々とデータを処理しているPHPは地味な存在といえるでしょう。

ブラウザという私たちの目に留まる場所でいろんな手段でアピールする派手なJavaScriptと、私たちがあまり意識することのないサーバー内で粛々と作業を続ける地味なPHP。

身近な人に置き換えてイメージするとわかりやすいかもしれませんね^^

まとめ

PHPとは

  • PHPは動的にWebページを生成できるプログラミング言語の一つ
  • 「動的にページを生成する」とは「プログラムでページが生成される」ということ
  • 動的ページは静的ページでは対応できない時や管理が難しい時に必要
  • 動的ページは静的ページのようにページに個別の情報を記述しなくても良い

動的サイトに必要なデータベース

  • 「データベース」という仕組みによってページの情報を動的に生成することができる

WordPressのページ生成の仕組み

  • WordPressはページ内のほぼすべての情報が動的に表示されている
  • 動的ページでは、はめ込む情報を変えることで別のページを生成することができる

PHPファイルの編集方法

  • WordPress本体を動かしているコアファイルは基本的に編集しない
  • WordPressをカスタマイズする時はテンプレートを編集する
  • テンプレートの編集は管理画面からおこなうか、PCで編集したものをアップロードする

PHPと他の言語の違い

  • HTMLはページの骨組みをつくる言語、PHPは動的にページを生成する言語
  • JavaScriptはブラウザで動くプログラミング言語、PHPはサーバーで動くプログラミング言語

次のレッスンへWordPressとデータベースの基礎知識

「WordPress初心者入門」のトップへ

WordPressの基礎を体系的に学びたい方のために

WordPressの基礎を体系的に学習したい方向けの著書が発売になります。

本書の手順に沿ってサイトを作成していただくだけで、WordPressの操作方法やサイト作成の基礎を学べる構成になっています。

これからWordPressでサイト作成を始めようと考えているけど、何から始めれば良いか迷っている。

本書はそんな方のための一冊です。

ぜひお手にとってご覧いただければ嬉しく思います。

スポンサーリンク




シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク