こんにちは、WPホームページ研究所の運営サポートチーム(@WP_LABO)です。
今回はプログラミングの「if文」を解説させていただきます。if文はどんなプログラミングでも使われる基本的な構文の1つ。カンタンに言えばプログラミングは条件を設定して実行する仕組みです。
もし「ある値が1なら、特定のデータを呼び出して、書き換えた値で上書きする」といった条件を組み上げる際に使います。条件に応じながら実行するパターンを構築していくのがプログラミングなので「if文」は基本中の基本です。ワードプレスはPHPなのでif文も使えるためご紹介いたします。
目次
ワードプレスでも使えるPHPのif文(基本構文)
まずは基本的な書き方を解説いたします。
基本的な書き方について
もし「$sampleが1なら」という条件文は下記です。「<?php ?>」は省略しています。
if ($sample == "1") {
//処理を記述する
}
ただ、これじゃさっぱり意味がわかりませんよね。処理の前に「$sample(変数)」の値が必要となります。わかりやすく「$sample」に「1」を代入してみましょう。こうなれば実際に処理が進みます。
//変数を宣言
$sample = "1";
if ($sample == "1") {
//処理を記述する
}
変数($sample)に値を代入する
逆に動かないパターンが以下。変数「$sampleが0」なので条件(if文)は通りません。
$sample = "0";
if ($sample == "1") {
//処理を記述する
}
実際の使い方としては「$sampleにどういった値を取得するか?」はデータベース内から取得したり設定項目に持たせている値を代入してと条件を作って実行していきます。状況で値を入れ替えるのが基本です。
変数はいつでも上書き可能
ちなみに以下の書き方は「$sample」が2行目で「1」に上書きされます。
$sample = "0";
$sample = "1";
if ($sample == "1") {
//処理を記述する
}
どういった値を「$sample」内へ代入するのかで書き方は変わってきます。
変数内の値は保存データを取得
たとえば事前に設定画面で保存した「get_option(‘wp_your_saving_data_flag’)」という値があって保存した状態によって「0か1」を返すなら「$sample」に代入する値はPHPで取得すればOKです。
$sample = get_option('wp_your_saving_data_flag');
if ($sample == "1") {
//処理を記述する
}
変数の値が「1以外」の処理を追記
少し複雑になってきましたね。もし「1以外」の処理を追加するなら以下となります。
$sample = get_option('wp_your_saving_data_flag');
if ($sample == "1") {
//$sampleが1だった場合の処理を記述する
} else {
//$sampleが1以外だった場合の処理を記述する
}
変数に取得する値は文字でも可能
もちろん、取得する値は数字以外でもOK。
$sample = "いちご";
if ($sample == "いちご") {
//処理を記述する
}
変数名は好みの名前を設定可能
変数名には任意の名前も設定できます。
$fruit = "いちご";
if ($fruit == "いちご") {
//処理を記述する
}
上記の通り「$sample」も「$fruit」でも問題ありません。変数名は1つをずっと処理内で上書きしてもOK。あえて違う変数名にして処理内で見やすく使い分ける場合もあるので書き方は好みですね。
細かく言うと値には型があります。PHPはJAVAほど型に厳密ではないので扱いが楽です。上記の書き方ではすべて文字列型で値を代入しています。もし値の比較時に厳しく比べたいのなら型を使えばOK。
正確には「get_option」の記述箇所だけ「どんな値が保存されているか?」で入ってくる型が違ってきます。
・文字列型(String)
・数値型(int)
他にもいくつか型はあるのでまた別の機会にでも解説させていただきますね。
比較演算子について
if文では「比較演算子」を使います。
== (一致する)
!= (一致しない)
他にもいくつか種類があります。
< (より小さい)
> (より大きい)
<= (以下)
>= (以上)
そして「==」の一致よりも厳密に値同士を比較する「===」があります。データの型も比べるので厳しめです。
=== (データの型も一致する)
これだけあれば色々な比較ができます。
if ($number < 5) {
//処理を記述する
}
処理の前に「$number」を取得して数字と比較して処理をわけることも可能です。
$number = 3;
if ($number < 5) {
//処理を記述する
echo '変数の値が5よりも低い場合に出力';
} elseif ($number > 15) {
//処理を記述する
echo '変数の値が15よりも高い場合に出力';
} else {
//処理を記述する
echo '変数の値がそれ以外の場合に出力';
}
ちなみにダブルクォーテーション(”)でくくらない数字を変数に代入すると「数値型」の扱いとなります。ダブルクォーテーションやシングルクォーテーション(’)をつけたら文字列型です。
型については初めは意識しなくても構いません。値には型という裏設定があるとだけ覚えておきましょう。
さらに複雑な条件(論理演算子)を使う方法
条件文には「&&」や「||」も使えます。
&&(かつ)
||(または)
!(違う)
以下では「両方一致しています」が出力。
$sample = "1";
$fruit = "いちご";
//条件を作成
if ( $sample == "1" && $fruit == "いちご" ) {
//処理を記述する
echo '両方一致しています';
} else {
//処理を記述する
echo '一致しません';
}
以下は「一致しません」が出力されます。
$sample = "1";
$fruit = "マスカット";
//条件を作成
if ( $sample == "1" && $fruit == "いちご" ) {
//処理を記述する
echo '両方一致しています';
} else {
//処理を記述する
echo '一致しません';
}
ちなみにワードプレスの関数を絡めると以下のような記述が使えます。もしフロントページに設定されているかホーム画面なら処理を実行するというif文です。もし投稿ページならといった比較もできます。
if ( is_front_page() || is_home() ) {
//処理を記述する
}
まとめ
本日は「if文の基礎」について解説させていただきました。
プログラミングは「変数に値を取得、条件に組み込む、希望通りに出力」。この3つが基本の流れです。より正確にデータを処理するには上記で解説した「比較演算子」も組み合わせながら使います。
比較演算子や論理演算子と聞くとむずかしい印象を受けますが、結局のところは適切な答えを導くための逆算に使う計算式の1つでしかありません。その都度データの値を確認して処理を書きましょう。
最新式の無料プラグインを事前公開
WordPressは公式サイトに登録済みのプラグインだけで全機能を補足しきれません。当サイトでは使いやすさを追求した魅惑的なプラグインを無料でダウンロードいただけます。運営ホームページのマーケティング力をさらに高めるチャンスです。まずは無料でDLしてお試しくださいませ。
→ 改良されたプラグインを確認する