Weblasts

WordPressを使うために必要なPHPの知識

他の記事でも紹介しましたがWordPressはPHPを使って作られているので、使用する際にPHPの知識があることが前提になります。
ただ、PHPのすべてを抑えなくてはならないわけではないので必要な部分のみ押さえておけばいいでしょう。

関連記事

変数

JavaScriptなどと同じように一時的にデータをしまっておくための箱を作ることができ、一時的にデータをしまっておく箱を変数と呼びます。

変数はファイル内のPHPタグの中であれば好きなタイミングで作ることができ、好きなタイミングで上書きしたりすることもできます。

変数を使う方法はとても簡単で、「$」記号の後につけたい変数の名前をつけ、代入演算子「=」を使って値や要素を代入して使います。

呼び出すときは、変数名をそのまま記述する

変数の名前を付ける際のルール

  • 使える文字は半角英数字とアンダースコア
  • 変数名の先頭を数字から始めてはいけない
  • 大文字と小文字は区別される

配列

複数のデータを纏めてしまっておくための箱も作ることができまして、これを配列と呼びます。

名前の付け方は変数と同じだけど、データの格納方法が少し違い[]で囲んでデータ一つ一つをカンマで区切って記述します。改行を入れることもできるので縦に並べてもOK

入れたデータには0から始まる番号が割り振られてこの番号を[]で囲んでデータの取り出しをする

連想配列

連想配列は配列のデータに名前を付けたもの。JSにおけるオブジェクトにとても似ているけど別物で、名前の部分はkey(鍵)・値の部分はvalue(値)と呼ばれkeyを使ってvalueを受け取れる仕組みになっています。

※ keyとvalueは「=>」で区切って記述する

※ keyとvalueはセットでプロパティと呼ばれます

※ プロパティとプロパティを区切るときにはカンマを使って区切ります

関数

PHPにあらかじめ用意された命令のことを関数と呼びます。関数を呼び出すときは「関数名(パラメータ)」の形をとります

パラメータ部分を引数と呼ぶこともあります。関数によって使えるパラメータはバラバラなので関数ごとに覚えておくことが大事です。

一例ですが、PHPに用意されている関数を使って現在の日付を出力するのであれば

date関数

date関数は現在の日時を取得してフォーマットで指定した形式で値を取得してくれる関数

よく使われるフォーマット
Y年。4桁の数字
m月。2桁の数字。先頭にゼロをつける。
d日。2桁の数字。先頭にゼロをつける。
H時。2桁の数字。24時間単位で、先頭にゼロをつける。
i分。2桁の数字。先頭にゼロをつける。
s秒。2桁の数字。先頭にゼロをつける。

例えばdate(‘Y/m/d H:i:s’)で呼び出すと「2017/12/18 09:30:20」の文字列を取得してきます。

date(‘Y年m月d日 H時i分s秒’)で呼び出すと「2017年12月18日 09時30分20秒」の文字列を取得してきます。

JavaScript同様に関数は自作することもできユーザー定義関数とか呼んだりします。
WordPressでは関数を自作して内部的に行われる元々の処理を加工するときに使います。
※ フックとか呼びます

例えばで、引数に画像までのパスえお入れて呼び出したらimg要素として出力してくれる関数を作ってみました

コードを簡素にしているのでalt属性は出てませんがimg要素が出力されるはずです

if文

「もし○○だったら̻△△する」のように条件によって処理を変えたいときに使う条件分岐の一つ

条件に当てはまらなかったときの処理や複数の条件も設定することができる
条件に当てはまらなかったときの処理はelse文
複数の条件はelseif文の()の中に記述する

使い方、考え方はJavaScriptとほとんど同じ

WordPressでは記事を出力したり、ページを判定するために使用したり結構使用頻度は高めになります。

この書き方だとHTMLを出力するとき毎回echoしなくてはならないのであまりおすすめできません。
PHPの処理だけで完結するのであればこちらの処理を使うようにすると良いと思います

PHPならではの書き方

WordPressでよく使われるif文の形は上記の書き方ではなく{}を省略する違う書き方が主流になっていますのでそちらを覚えましょう。

ルール

  • 条件式の後は{}の代わりに「」を使う
  • 最後はendifで終わる

違いは分かりにくいですが機能はは同じif文です。比較用のコードも張り付けておきますが、どうしてもいやなら使わなくていいと思います

for文

ループと呼ばれる処理の一つで指定した条件通りの処理を指定した回数繰り返すときに使う構文で、数値を選択してもらうセレクトボックスを作る場合なんかに便利だったりします。

WordPressではほかのループ文を使うことがほとんどなのであまり活躍の機会はありませんが簡単に紹介しておきます。

初期値

forループの開始時に最初に一度だけ行う処理。繰り返しに使う変数の初期値を設定する。よく使われる変数は$i
初期値はあくまでも数値が入った変数なので処理の中でも使える

条件式

繰り返し行うかどうかを判定するために式を設定する。条件式の結果がtrueの間は繰り返しを行いfalseになったら終了する。 大なり小なりを使って式を指定することが多い

更新処理

ループが終わって繰り返しのたびに行う処理を書く。大体の場合は繰り返す処理に使う変数の値を増減する。これによって条件式の結果が変わるようになる。よくある指定方法で初期値に1ずつプラスする形をとる場合が多い

セレクトボックスを作るならってな感じのコードを乗せておきます

「$i」には必ず数値が入るようになっています。初期値は1
1.まずは繰り返す条件をチェックします「$i」は10以下なのでtrueなので処理を実行します
2.この初期値をvalue属性の中とoptionタグの中に出力します
3.出力が終わったら$iに1を加算します。
4.$iは2なのでまだ10以下でtrueですので処理を実行します。
5.出力が終わったら$iに1を加算します。
といった具合に処理ごとに変数の値を増やしていき、条件が成立している限り繰り返してくれます
このコードでは$iが11になったらfalesになるので1~10までのセレクトボックスが出力されるようになります。

while文

while文はfor文と同じくループ処理をする構文の一つで、条件式がtrueの間処理を繰り返す。for文とは書き方が違うので注意が必要。

WordPressでループ処理をするならこのwhile文をつかうようになっていますので必ず使います。

それぞれに入れる値はfor文と同じ。for文との違いは()内には条件式しか入れられないので処理の前に初期値を設定し、処理の最後に更新処理を記述する。更新処理を記述しないと無限ループになり半永久的にカウントが増え続けます。
この処理は決しておこなってはいけません。なぜなら、半永久的に実行されるということは、処理が終わらないため、プログラムに負荷が掛かりクラッシュしてしまうからです。

WordPressではwhile文の設定はWordPress専用の関数とendwhileを組み合わせて使うことが多いので、WordPressで使うなら必ず出てくるものだと思って頂きたい

foreach文

foreach文は配列用のループ文の仲間で、配列内のデータを一つずつ取り出して、なくなるまで繰り返し実行するループ文です。普通の配列と連想配列の場合書き方に違いが出てくるので、使っているデータが何なのか把握しながら使いましょう

普通の配列の場合

1.配列に入っている先頭のデータを一つ取り出して変数に格納します。
2.格納したデータを使った処理をします。
3.処理が終われば次の配列のデータを新たに格納します。
4.格納したデータを使って処理をします。 この繰り返しを配列のデータがある限り続けます。

日本語で簡単に説明すると

1.$dogsの配列0番目のボーダーコリーを$itemに格納
2.$itemをp要素で囲んだものを出力
3.$dogsの配列1番目のシベリアンハスキーを$itemに格納
4.$itemをp要素で囲んだものを出力
5.$dogsの配列2番目のダルメシアンを$itemに格納
6.$itemをp要素で囲んだものを出力
7.配列のデータがなくなったので処理を終了する

連想配列の場合

連想配列をforeach文を使って処理をする場合()内に入れるものが増えます。 ただキーの部分も処理中で使えるようになるので文法的には長くなりますが、やれることはすごく増えます。

キーの部分には大抵$keyという変数名をつけることが多いのでそれに習ってキーは$keyに格納。
データの部分はそのデータが何なのかわかりやすい変数名を付けてあげるといい。今回は$dataにしてみる。

WordPressでは任意のページを出力するときに使ったりすることもありますので一応抑えておきましょう

POPULAR