WordPress初心者がカスタマイズを始めるためのPHP基礎知識〜PHPのしくみ 前半戦〜

2019.03.27  /  2019.06.16 WordPress・PHP
WordPress初心者がカスタマイズを始めるためのPHP基礎知識〜PHPのしくみ 前半戦〜

こんにちは。
最近はPHPのコードを書いているときが一番楽しい藤ミヤチです。

前回は、

  • WordPressが動くために必要なPHPってなにもの?
  • PHPはWordPressでなにをしているの?

を中心にまとめました。

そこでいざ、PHPの役割がわかっても、

困っている受講生
じゃあ、PHPってどうやって勉強すればいいの…?大変そう…

と思ったかもしれません。

新しい言語を一から勉強するとなると、すごく大変に思えますよね。

でも大丈夫。

WordPressのカスタマイズをするために必要なPHPの知識を、まったくの初心者でもわかりやすいようにまとめました。

覚えてほしいポイントは8つだけです。

  1. PHPの基本的な書き方を知る
  2. HTMLのコードとして出力するには echo を使う
  3. 使い回す情報は $ で覚えておいてもらう
  4. 何度もする作業は function で設定して使う
  5. if を使って、条件にあてはまるかどうかで動きをかえる
  6. 関連性の高い情報は 配列 / オブジェクト でまとめて管理する
  7. 繰り返して同じ形のものを表示するにはループ処理を使う
  8. わかりにくいPHPの動きを確認するにはvar_dumpを使う

今回は「前半戦」として、そのうちの4つをまとめました。

藤ミヤチ藤ミヤチ
WordPressのカスタマイズに必要なところを「つまみ食い」して、最短でカスタマイズができるようになろう!

WordPressのカスタマイズをするために知っておくべきPHPの基本的な仕組み

PHPの基本的な書き方を知る

PHPは <?php で始まり ?> で終わります。

<?php
  $site_title = get_bloginfo('name');
  $title = get_the_title();
?>

そして、HTMLやCSSと同じように、コードを書いている/見ている人がわかりやすいようにメモ(コメント)を残すことができます。

HTMLの場合は、

<div class="test">
  <!-- ここがコメント -->
  <p>サンプルテキスト</p>
</div>

↑のように、<!– –> で囲むと、表示されるページの内容に影響を与えずにメモが残せました。

PHPの場合は

<?php
  // これはコメント
  $site_title = get_bloginfo('name');

  /*
    これもコメント
    コメント
  */
  $title = get_the_title();
?>
  • // のあと、改行されるまで
  • /* */ で囲まれた中身

がメモになります。

指 ここがポイント
<?php がでてきたらPHPのコード

HTMLのコードとして出力するには echo を使う

前回の記事で、PHPはサーバーサイドの言語で、HTMLが実際にブラウザで読み込まれるまえに実行される言語だということ説明しました。

クライエントサイド言語、サーバーサイド言語の関係性
藤ミヤチ藤ミヤチ
PHPが、ページを表示するために必要なHTMLを出し分ける役割を担うよ

じゃあ、実際にどうやってPHPはHTMLを用意しているのか?

基本的には echo で「HTMLの一部として書き出してね!」と指示をだします。

<div class="text">
  <?php
    echo '<p>サンプルテキスト</p>';
    // echo '書き出したい内容';
  ?>
</div>

書き出したい内容はシングルクォーテーション( ‘ )でくくって、終わったらセミコロン( ; )です。

藤ミヤチ藤ミヤチ
一つの指示がおわったらセミコロンを書くのは、PHP全体で共通するルール!CSSと同じだよ

さきほどのコードがサーバーで実行されると、ブラウザで読み込まれるときにはこうなります。

<div class="text">
  <p>サンプルテキスト</p>
</div>
指 ここがポイント
echo でHTMLとして書き出す

使い回す情報は $ で覚えておいてもらう

PHPを書くときに大活躍するのが「$」。
何度も使うものにラベルを付けて、使いまわしやすくするイメージです。

わからない受講生
どういうこと?

たとえば、あるページ内で同じものを何度も使うことってありますよね。
サイト名とか。

毎回律儀に書いてもいいのですが、書き出しをPHPに一括でお願いすることもできます。

<?php
  $site_name = 'みやちーぶ';
  // $ラベル名 = '使い回すもの/覚えておいてほしいもの';
?>
<strong>
  <?php
    echo $site_name;
    // echo $ラベル名; つまり、
    // echo 'みやちーぶ';
    // と同じ意味
  ?>
</strong>
<p>
  このブログのタイトルは「<?php echo $site_name; ?>」です。
</p>

2行目で「今後、$site_name といったら、『みやちーぶ』っていうことだからね。覚えておいてね」とPHPにお願いしています。

だから、そのあとのPHPコードの中で $site_name と使えば、『みやちーぶ』のことを意味するんです。

つまり、先程のPHPコードがサーバーで実行されると、↓になります。

<strong>
  みやちーぶ
</strong>
<p>
  このブログのタイトルは「みやちーぶ」です。
</p>

すっきり。

指 ここがポイント
何度も使うものは「$ラベル名」でPHPに覚えておいてもらえる

たとえば、サイト名を変えたときには「$site_name を覚えておいて」と宣言したところを1回書き換えるだけで、全ての場所のサイト名が変わります。

<?php
  $site_name = 'ミヤチ';
?>
<strong>
  <?php
    echo $site_name;
  ?>
</strong>
<p>
  このブログのタイトルは「<?php echo $site_name; ?>」です。
</p>

↑の結果となるHTMLはこちら↓

<strong>
  ミヤチ
</strong>
<p>
  このブログのタイトルは「ミヤチ」です。
</p>
藤ミヤチ藤ミヤチ
PHPの便利さを少しでも感じてもらえるといいな
指 ここがポイント
この $ で覚えてもらうことを、正式には「変数に代入する」という

何度もする作業は function で設定して使う

プログラミングの世界では「複数回使うものは共通化すべし」という暗黙の(?)ルールがあります。

わからない受講生
共通化ってどういうこと?

たとえば、CSSでもクラスを作ることで共通化しています。

<h2 class="topic">見出し</h2>
<p>サンプルテキスト。サンプルテキストサンプルテキスト</p>
<h2 class="topic">見出し</h2>
<p>サンプルテキスト。サンプルテキストサンプルテキスト</p>
.topic {
  font-weight: bold;
  font-size: 20px;
  color: #0000ff;  /*青色*/
}

「topic」という共通のクラスを設定し、「太字で、サイズは20pxで、青色の文字」というのを2か所に指定しています。

これが共通化の基本的な考え方です。
2回も同じものを個別に指定すると面倒だから、まとめて指定してしまえ!という、ある種の「手抜き」ですよね。

藤ミヤチ藤ミヤチ
意外と、プログラミングでは「手抜き」が重要!

ブログを作っていくときには、「記事をデータベースからとってきて、表示するためのHTMLを用意する」といった、同じ手順を何度もくり返すことがあります。

そのつど、

  1. 記事を取ってくる
  2. 記事を並べるためのHTMLを用意する
  3. echo で画面にHTMLを出せるようにする

というのを延々と繰り返してもしょうがない。

めちゃくちゃ面倒だもの。
手抜きしたい。

だからPHPでは、ある程度のまとまった作業をfunctionを使って「共通化」します。

そして、CSSでは共通化した設定に「クラス名」というラベルを付けたように、PHPでは「function + 作業の名前」でラベルを付けて作業をまとめておきます

<?php
  function get_articles() {
    // 作業のまとまりを「get_aritcles」というラベルで管理することにした
    // この場所に、記事を取ってきてHTMLを用意する... という処理をPHPで書く
  }
?>
<div class="articles">
  <?php
    get_articles();
    // function(=作業の集合体)としてまとめた get_articles を実行してもらう
  ?>
</div>
  1. 1〜6行目で「記事を取ってきてHTMLを用意する」という作業のまとまり(get_articles)をつくる
  2. 8〜11行目で、さっき指定した get_articles を実行する

という意味になります。
※function の中の書き方まで解説するとまとまらなくなるので、また別の記事で。

まずは、WordPressのカスタマイズをするときに、

  • 半角英数字 ();
  • 半角英数字 ( 何らかの文字 );

という形があったら、functionで指定した作業のまとまりを実行しているんだな、と気づいてもらえればOKです。

指 ここがポイント
functionで指定した作業のまとまりを「関数」という

WordPressのカスタマイズができるようになるために、ポイントを押さえてPHPを勉強しよう

PHPを極めようとすると、とてつもない時間がかかります。
それはもう、何年もかかるかもしれません。

困っている受講生
違うんや、わいが極めたいのはWordPressであって、PHPやないんや…

そうなんですよね。
PHPの基礎知識はあったほうがいいけど、それが一番の目的じゃないんです。

藤ミヤチ藤ミヤチ
WordPressの仕組みを理解するために必要なPHPのポイントをおさえて、はやく「理屈がわかって」WordPressのカスタマイズができる人になろう!

おさえて欲しいPHPの基本的なポイントは8つ。
そのうちの4つは、

  1. PHPを書くときは<?php ?>でくくる
  2. 【echo】HTMLの一部として出力する
  3. 【変数】$を使ってPHPに使い回す情報を覚えてもらう
  4. 【関数】何度も実行する作業のまとまりは共通化して使い倒す

です。

藤ミヤチ藤ミヤチ
次回は「後半戦」として、残り4つのポイントを説明していくね
スキルアップしたいサイト制作者
向けの情報をつぶやくよ 藤ミヤチのTwitter
(ここをクリック/タップ)



LINE@で特別レクチャーなどの情報を発信中!
友だち追加

シェア


この記事も参考になるかも
【WordPress】新しいブロックエディター Gutenbergのススメ〜正式リリースから半年経ったからこそ言えること〜
【完全初心者向け】WordPress(ワードプレス)の始め方・SEO対策をまとめて片付けるための方法をわかりやすく解説
WordPressのテーマ開発に詳しくなりたいサイト制作者が抑えておくべき、定番のプラグイン19選