\ シェア /

FacBook
Twitter
LINE
はてブ
PPocket
ZeroPlus Media > L_WordPress > Step1 > WordPressを学ぶに当たってPHPの基本を学ぼう
WordPressを学ぶに当たってPHPの基本を学ぼう

WordPressを学ぶに当たってPHPの基本を学ぼう

2022/07/14

2022/07/14

本記事では、これからWordPressを学ぶにあたって覚えておきたいPHPの基本構文について解説します。

WordPressはPHPというプログラミング言語でできているため、実際にWordPressのテーマ開発もPHPを使っていきます。

新しいプログラミング言語を学ぶとなるとハードルが高いようにも思えますが、WordPressを学ぶに当たってPHPの覚えておきたい部分はそこまで多くない上に、同じプログラミング言語のJavaScriptと記法は似通っていますので、本記事を通して基礎を押さえましょう。

PHPの基本

PHPファイルの拡張子

これまで学んできた、HTML、CSS、JavaScriptでは、それぞれ以下のような拡張子でした。

PHPファイルの場合は、ファイル名の後に.php の拡張子になります。

index.php

PHPの記述

実際のコード

<?php ここにPHPの処理が入ります ?>

PHPのコードはJavaScriptと違って、HTMLのコードの中にPHPのコードを埋め込むようなイメージになります。PHPのコードを記述する際に以下のように、PHPの記述の開始と終了を明示する必要があります。

コメントアウト

<div>HTMLタグだよ</div>
<!-- HTMLコメントアウト -->

<?php
 // スラッシュ2つで一行のコメントアウトができます
 /*
   スラッシュとアスタリスクで、
   複数行のコメントアウトができます
  */
?>

JavaScriptでもあるように、PHPにもコメントアウトをすることができます。

PHPの場合は、HTMLの記述もすることができるので、HTMLのコメントアウトも含めるとファイル内に3種類のコメントアウトを作成することができます。

文字列の表示

<!-- シングルクォーテーション -->
<?php echo 'ZeroPlus'; ?>

<!-- ダブルクォーテーション -->
<?php echo "ZeroPlus"; ?>

PHPで作成した文字列を表示させるためには、echo (エコー)を使用します。

echoの後に表示させたい文字を記述し、 (シングルクォーテーション)、または (ダブルクォーテーション)で囲います。

文字列の連結

<?php echo 'Zero' . 'Plus'; ?>

PHPにおける文字列の連結は、+ ではなく . (ドット)を使用します。

変数

<?php
 //$変数名 = 代入したい値;
 $name = "ZeroPlus";
?>

PHPで変数を宣言するには、変数名の前に$を記述します。

変数とは何かについては、「JavaScriptの変数を学ぼう」で解説しているので、そもそも変数が分からない方はお読みください。

 変数に代入した文字列を出力

<?php
 $name = "ZeroPlus";

 echo $name; // ZeroPlus
?>

配列

<?php
 // パターン1
 $fruits = array("りんご", "ばなな", "いちご");

 // パターン2
 $fruits = ["りんご", "ばなな", "いちご"];
?>

配列を定義する方法には、2種類あります。

array()を使ったやり方と[] (ブラケット)を使ったやり方です。どちらでも定義することはできますが、プロジェクトでどちらかに統一しましょう。

配列内の値の出力

<?php
 $fruits = array("りんご", "ばなな", "いちご");

 echo $fruits[0]; // りんご
 echo $fruits[1]; // ばなな
 echo $fruits[2]; // いちご
?>

定義した配列の中から特定の値を出力するには、JavaScriptと同じように、配列を入れている変数名の後に[インデックス番号] としてあげることで出力することができます。

連想配列

<?php
  // パターン1 
  $fruits = array(
    "apple" => "りんご",
    "banana" => "ばなな",
    "strawberry" => "いちご"
  );

  // パターン2
  $fruits = [
    "apple" => "りんご",
    "banana" => "ばなな",
    "strawberry" => "いちご"
  ];
?>

連想配列は、WordPressで用意されている関数のオプションに対して、設定する際に使用することがあります。JavaScriptで言うところのオブジェクトと同じです。

連想配列内の値の出力

<?php
  $fruits = array(
    "apple" => "りんご",
    "banana" => "ばなな",
    "strawberry" => "いちご"
  );

  echo $fruits["apple"]; // りんご
  echo $fruits["banana"]; // ばなな
  echo $fruits["strawberry"]; // いちご
?>

定義した連想配列の中から特定の値を出力するには、連想配列を入れている変数名の後に[キー] としてあげることで出力することができます。

条件分岐(if文)

パターン1

<?php
	if (条件) {
		// 処理
	} else {
		// 処理
	}
?>

パターン2

<?php if (条件): ?>
<!-- 処理 -->
<?php else: ?>
<!-- 処理 -->
<?php endif; ?>

PHPのif文の書き方には2種類あります。パターン1はJavaScriptと同じですが、パターン2はPHP独特の記法になります。WordPressでは、パターン2を使う機会が多いです。

実装例

<?php 
  if (is_front_page()):
?>
<h1>
  <a href="<?php echo esc_url(home_url()); ?>" class="">ZeroPlus</a>
</h1>
<?php else: ?>
<p>
  <a href="<?php echo esc_url(home_url()); ?>" class="">ZeroPlus</a>
</p>
<?php endif; ?>

表示されるページがトップページだったら、h1タグを使って、そうでない時は、pタグを使う条件分岐処理です。

is_front_page()は、表示されるページがトップページかどうかを判定してくれるWordPressの関数です。

実際にこの例のように使うことがあるので、if文の書き方に慣れておきましょう。

条件分岐について分からない方は、「JavaScriptの条件分岐を学ぼう」で詳しく解説しているので、確認しましょう。

ループ

While文

パターン1

<?php
	while(条件) {
		// ループしたい処理
	}
?>

パターン2

<?php while(条件): ?>
<!-- ループしたい処理 -->
<?php endwhile; ?>

ループもif文と同じように2種類あります。WordPressでは、パターン2を使う機会が多いです。

実装例

<?php 
  if (have_posts()) :
    while (have_posts()) :
      the_post();
?>
<!-- ループしたい処理 -->
<?php
    endwhile;
  endif;
?>

while文はWordPressのメインループでも使用します。

メインループについては他の記事で解説します。

foreach文

パターン1

<?php 
	foreach (配列 as 値を入れる変数) {
		// ループしたい処理
	}
?>

パターン2

<?php foreach (配列 as 値を入れる変数): ?>
<!-- ループしたい処理 -->
<?php endforeach; ?>

こちらも2パターンあります。

実装例

<?php
	// 全てのカテゴリーを取得(配列)
  $cats = get_categories();
	// 全カテゴリーデータを取り出して表示する
  foreach ($cats as $cat) :
    $cat_link = get_category_link($cat->cat_ID);
?>
	<li>
		<a href="<?php echo esc_url($cat_link); ?>">
			<?php echo $cat->cat_name; ?>
		</a>
	</li>
<?php endforeach; ?>

使用している関数は全てWordPressで用意されている関数です。

作成したカテゴリーを取得して、表示させています。

まとめ

プログラミング言語は基本的に一つの言語を取得してしまえば、構文は違えど実行される処理は似通っているので、取得しやすいです。

まずは基礎から固めていきましょう。

\ 学んだことをSNSでシェアしよう /

この記事の執筆者

ZeroPlus Media変種部

ZeroPlus Media編集部

ZeroPlusは、「フリーランス特化型プログラミングスクール」です。ZeroPlus Mediaでは、フリーランスとして活躍する際に役立つ有益なプログラミングやWeb制作に関する情報を発信しています。

あなたの目的に合わせた2つのサービス

あなたの目的に合わせたZeroPlusの2つのサービス
基礎からフリーランスレベルまで本質的な学びを提供しています

完全無料!30日間で学びきれる
プログラミンスクールZeroPlus Gate

  • お金をかけずに、学習を進めたい
  • Webサイトを作れるようになりたい
  • メンターや講師に質問しながら学習したい

詳しくはこちらから

フリーランス特化型
プログラミングスクール ZeroPlus

  • プログラミング学習で悩んでいる
  • 仲間と一緒に学習したい
  • フリーランスとしての総合的な力を養いたい

詳しくはこちらから