本記事では、これからWordPressを学ぶにあたって覚えておきたいPHPの基本構文について解説します。
WordPressはPHPというプログラミング言語でできているため、実際にWordPressのテーマ開発もPHPを使っていきます。
新しいプログラミング言語を学ぶとなるとハードルが高いようにも思えますが、WordPressを学ぶにあたってPHPの覚えておきたい部分はそこまで多くない上に、同じプログラミング言語のJavaScriptと記法は似通っていますので、本記事を通して基礎を押さえましょう。
- PHPの基本のキ!
案件が取れなくて悩んでいるあなたへ
プログラミング案件獲得のために必要なスキルは、単に技術力だけではありません。営業力、コミュニケーション力、人脈などの幅広いスキルや要素が求められてきます。
営業からライティング、SEOまで学べるフリーランス特化型プログラミングスクールZeroPlusで、フリーランスエンジニアに必要なすべてを手に入れませんか?
- またゼロからやり直さないといけないの?
- 本当にフリーランスになれるの?
といった不安にも、超フレンドリーな相談員が親切に相談にのります。スクール以外のご質問もOK!
\お申し込みは30秒で終わります。/
新しい一歩を、今踏み出してみませんか?
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 = ["りんご", "ばなな", "いちご"];
?>
配列を定義する方法には、array( )
を使ったやり方と[ ]
(ブラケット)を使ったやり方の2種類があります。
どちらでも定義することはできますが、プロジェクト内ではどちらかに統一しましょう。
配列内の値の出力
<?php
$fruits = array("りんご", "ばなな", "いちご");
echo $fruits[0]; // りんご
echo $fruits[1]; // ばなな
echo $fruits[2]; // いちご
?>
定義した配列の中から特定の値を出力するには、JavaScriptと同じように、配列を入れている変数名の後に[インデックス番号]
のようにインデックスの番号を記述します。最初の数字が0から始まることに注意してください。
連想配列
<?php
// パターン1
$fruits = array(
"apple" => "りんご",
"banana" => "ばなな",
"strawberry" => "いちご"
);
// パターン2
$fruits = [
"apple" => "りんご",
"banana" => "ばなな",
"strawberry" => "いちご"
];
?>
連想配列は、インデックス番号の代わりに文字列(キー)を使用したいときに使用します。
連想配列内の値の出力
<?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で用意されている関数です。
作成したカテゴリーを取得して、表示させています。
まとめ
プログラミング言語は基本的に一つの言語を取得してしまえば、構文は違えど実行される処理は似通っているので、取得しやすいです。
まずは基礎から固めていきましょう。