WordPressはPHPとDBからHTMLを作成して表示させるというシステマチックな作りなので、最低限のPHPが使える必要があります。ただ、PHPのエンジニアのようにゴリゴリで書ける必要はなく、WordPressで困らない程度の最低限の知識で大丈夫なはずです。
WordPressでPHPが使えるとはどういうことかと考えた時に、WordPressの関数から出力される値を自在に使えるようになることかなと思いました。
この記事では、PHPの基礎をどこまで勉強すればいいかと、WordPressからの値の取得部分を集中的に紹介していけたらと思っています。
WordPressはPHPで動いているので、テーマファイルを触るにはPHPの知識が少なからず必要です...
WordPressのために勉強しておくべきPHP
PHPを覚えるというよりは、ほとんどのプログラミング言語で共通する基礎的な部分になります。PHP以外の言語を触ったことのある方なら特に困ることなくWordPressを触れるはずです。
基礎は、ドットインストールのNo.4 ~ No.15
基礎はプログラミング動画学習の元祖ドットインストールの「PHP入門」を理解するだけで十分かと思います。
ゴリゴリに設計したWebアプリケーションを構築するのとは違い、WordPressのテーマやプラグインに書いてあるコードを理解できるスキルを目的として勉強すると効率的に学べるかもしれません。
具体的には、トッドインストールのPHP入門のNo.4 ~ No.15で、以下のような概念を(ある程度で大丈夫なので)理解しておくことですね。
- 変数
- 演算
- 条件分岐
- 繰返し
- 関数
- 配列
- オブジェクト
PHPの動作環境はXAMPPやMAMPが手軽
ドットインストールだと、コマンドプロンプトでPHPを実行していますが、馴染みがないしWordPressで使う時のイメージが持ちづらい気がします。
XAMPPやMAMPというアプリケーションをインストールすれば、ローカルの自分の環境でPHPを動かしてブラウザ上に表示させることができるようになります。
わたしはWindowsなので、XAMPPを導入してPHPを動かしてテストしたり練習していました。XAMPP導入の方法は以下でまとめていますので、参考にしていただければと思います。
WordPressの関数から値を自在に使えること
WordPressでPHPが使えるとはどういうことかと考えた時に、1つは、WordPressの関数から出力される値を自在に使えるようになることなのかなと思いました。
PHPの基礎はドットインストールで何周も聞きながら書いていけば、なんなとなく理解できてくるかと思います。続いては、こちらのより実践的な方法を紹介していけたらと思います。
そこで覚えておくべき、PHPの関数がvar_dump();
です。
WordPressから出力される値を確認するために確実に覚えておきましょう!!!
ページ番号を確認してみる
例えば、サブループを作る時によく出てくるget_query_var( 'paged' )
という書き方があります。以下のように使わられることが多いです。
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
この$paged
の値が実際にどういう値が入っているかを確認したい時は以下のように記載して確認することが可能です。
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
var_dump( $paged );
すると、記述した箇所に値が表示されるようになります。intというのは整数のことですね(分からなかったらPHP入門を復習してください)そして、1というのが$paged
に格納されている値ということです。
つまり、現在のページの該当のコードでは、$paged
は整数型の「1」として使われているということが分かるわけです。
このように、何が入っているか分からない変数があったら、積極的にvar_dump();
で確認していきましょう。わたしはめちゃくちゃ使います笑
配列とオブジェクトが絡むと複雑
int(整数)やstring(文字)など、単一の決まった値が返ってくれば簡単ですが、オブジェクトや配列だとちょっと複雑になります。どういう風に返ってくるかと、値の使い方について簡単に紹介していきます。
get_the_tags()
でタグの一覧を取得した時の中身を見てみます。
$tags = get_the_tags();
var_dump( $tags );
とりあえず、めっちゃ返ってきます…。
文字で書き起こすと以下のようになります。
array (size=2)
0 =>
object(WP_Term)[8689]
public 'term_id' => int 44
public 'name' => string 'WordPress' (length=9)
public 'slug' => string 'wordpress' (length=9)
public 'term_group' => int 0
public 'term_taxonomy_id' => int 44
public 'taxonomy' => string 'post_tag' (length=8)
public 'description' => string '' (length=0)
public 'parent' => int 0
public 'count' => int 1
public 'filter' => string 'raw' (length=3)
1 =>
object(WP_Term)[8690]
public 'term_id' => int 31
public 'name' => string 'プラグイン' (length=15)
public 'slug' => string 'plugin' (length=6)
public 'term_group' => int 0
public 'term_taxonomy_id' => int 31
public 'taxonomy' => string 'post_tag' (length=8)
public 'description' => string '' (length=0)
public 'parent' => int 0
public 'count' => int 4
public 'filter' => string 'raw' (length=3)
値を取り出す
では、上記の結果から値を取得してみましょう。arrayの「1」「2」でまとめらていている部分と、objectのいろんな単語(nameやslugなど)ででまとめられている部分の2つのエリアがあることが分かります。
構造的にはarrayが先でobjectが後です。言葉だけでは意味が分からないと思うので、実際にterm_idの「31」という数字を取り出してみようと思います。
echo $tags[1]->term_id;
これで「31」という値が表示されます。
これは配列の1番目の中のオブジェクト「term_id」を指し示す書き方になります。図で表すと以下のような配置ですよね。
配列の値を取得するときは[]
で、オブジェクトの値を取得するときは、->
を使います。ここだけ覚えておけば、後はvar_dump();
で確認すれば、どんな変数でも値を取ってこれるようになります。
あとは、慣れなのでとにかくWordPressのテーマ内でvar_dump();
しまくりましょう!笑
WordPress Codexで関数を確認
戻り値の確認方法として、var_dump();
を押しまくってますが、関数リファレンス – WordPress Codex 日本語版を見れば、おおよそどういう値が返ってくるかが分かります。
例えば、先ほどのget_the_tags()
であれば、テンプレートタグ/get the tagsが該当のページですね。
戻り値の項目を見ると、「配列」でメンバー変数がなになにで、、、ということが書かれていました。メンバー変数がちょっと分かりませんが、、なんなとく配列で返ってきて、「term_id」とかの値が使えるんだろうなと、いうことが分かります。
関数名でGoogle検索すると、WordPress Codexの日本語版がほぼ確実に出てきます。理解できていない関数が出てきたら、とりあえずGoogleで検索して意味だけでも覚えていうとWordPressの理解が深まっていくと思います。
おわり
PHPの基本的は部分はドットインストールや体系的な書籍で勉強するとして、WordPress上ではvar_dump();
を使いまくりましょう!というお話でした。
PHPの基礎が理解できたら、あとはWordPressのお作法を覚える割合の方が圧倒的に多くなると思います。その時に、WordPress Codex日本語版や、テーマ内でvar_dump();
を使いまくって、覚えていくのが早そうと思って、こういう記事となりました。
とにかくvar_dump();
を使いまくりましょう!