前提
Javascriptはまあなんとなく知ってる。
Wordpressは初めて。
PHPってJSに似てて、だいたいなんとなくわかる。
そんな人たちに向けた、
いかにさらっと読んでもらって、WordPressへのハードルを下げるかが目的の投稿です。
目次
- 変数の頭には$をつける
- if文
- echo
- print_r
- the_*()とget_the_*()の違い
- .でつなぐ
- -> って?
- => って?
- add_action()、add_*()がやたら出てくる
- わからない関数が出てきたときは
PHPの記述をしたいところは、<?php 〜 ?>
で囲う。
*.phpファイルなのに、わざわざ<?php 〜 ?>
で囲う!
変数の頭には$をつける
変数でも配列でも同じく$を頭につける。
if文
PHPにはif文に2種類の書き方がある。
{} を使う場合。
通常はこちら。function.phpなど。
<?php
if(hoge) {
} elseif(hoge) {
} else {
}
?>
PHPの場合、else if → elseif
。くっつけて書く。
: を使う場合
この場合は、PHPが1行ごとに区切られるので、if文の中にHTMLが書ける。
テンプレートファイルに使うと便利。category.phpなど。
<?php if(hoge): ?>
<div class="hogehoge1">asdfasdf</div>
<?php elseif(hoge): ?>
<div class="hogehoge2">jkl;jkl;</div>
<?php else: ?>
<div class="hogehoge3">jkl;jkl;</div>
<?php endif; ?>
最後はendif;
でしめる。セミコロンも忘れぬよう。
endifもくっつけて書く。end ifじゃないよ。
echo
echoは出力するときに書く。
デバッグするときにも便利。console.log的な。
echo $hoge;
print_r()
echoは配列をそのまま出力できないので、配列の中身を確かめたいときは、print_r()を使う。
ほぼデバッグで使用。
print_r ($hoge);
the_*()とget_the_*()の違い
get_*は取得した値をPHPの記述で使いたい場合、
the_*は取得した値をそのままHTMLで出力したい場合に使う。
Wordpress(だけ?)のthe_*()という関数は、出力も含まれているので、echoがいらない。
下の2つはどちらも同じふるまい。
echo get_the_title();
the_title();
-> って?
オブジェクトの関数や変数を利用するときに使う。
「の」と置き換えれば読みやすいかも。
$max_page = $wp_query->max_num_pages;
if( $tag_query -> have_posts() ):
=> って?
配列のkey,valueを指定するときに使う。
$args = array(
'alt' => $hoge,
'title' => $hoge,
);
配列の一番最後、「,」残っててもエラーにならないの不思議。
add_action()、add_filter()がやたら出てくる
function.phpに何か機能を追加するとき、
調べるといつも最後にadd_*(hogehoge,hogehoge)って書くように言われるけど、なにこれ?
add_action(フック,関数名);
add_filter(フック,関数名);
2つ引数があって、2つ目は関数名で前後に記述があるけど、1つ目のこれは何?
1つ目は、フックと呼ばれるもの。
フックはいつのタイミングで呼び出すかを設定する。すでに定められている。
(参考)
WordPress Codex - アクションフック一覧
関数名は呼び出す関数を書く。()はいらないよ。
''でくくってるから、ややこしい。文字列かと思う。
わからない関数が出てきたときは
[wp + 関数]でぐぐったら、誰かが解説してくれてる。
○WordPress マニュアル
https://wpdocs.osdn.jp/Main_Page
検索するときは、関数名そのままだとひっかからない。なんで!
get_the_title()の場合は、get the title
と_を抜いて検索。
WordPressマニュアルになかったらこちら。PHPのマニュアルで調べてみる。
○PHPマニュアル
http://php.net/manual/ja/index.php