LoginSignup
11
11

More than 5 years have passed since last update.

WordpressのPHP入門(Javascriptは知ってる人向け)

Last updated at Posted at 2017-01-27

前提

Javascriptはまあなんとなく知ってる。
Wordpressは初めて。
PHPってJSに似てて、だいたいなんとなくわかる。
そんな人たちに向けた、
いかにさらっと読んでもらって、WordPressへのハードルを下げるかが目的の投稿です。

目次

  • <?php 〜 ?>
  • 変数の頭には$をつける
  • if文
  • echo
  • print_r
  • the_*()とget_the_*()の違い
  • .でつなぐ
  • -> って?
  • => って?
  • add_action()、add_*()がやたら出てくる
  • わからない関数が出てきたときは

<?php 〜 ?>

PHPの記述をしたいところは、<?php 〜 ?>で囲う。
*.phpファイルなのに、わざわざ<?php 〜 ?>で囲う!

変数の頭には$をつける

変数でも配列でも同じく$を頭につける。

if文

PHPにはif文に2種類の書き方がある。

{} を使う場合。

通常はこちら。function.phpなど。

if文
<?php
if(hoge) {

} elseif(hoge) {

} else {

}
?>

PHPの場合、else if → elseif。くっつけて書く。

: を使う場合

この場合は、PHPが1行ごとに区切られるので、if文の中にHTMLが書ける。
テンプレートファイルに使うと便利。category.phpなど。

if文
<?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
echo $hoge;

print_r()

echoは配列をそのまま出力できないので、配列の中身を確かめたいときは、print_r()を使う。
ほぼデバッグで使用。

print_r()
print_r ($hoge);

the_*()とget_the_*()の違い

get_*は取得した値をPHPの記述で使いたい場合、
the_*は取得した値をそのままHTMLで出力したい場合に使う。
Wordpress(だけ?)のthe_*()という関数は、出力も含まれているので、echoがいらない。
下の2つはどちらも同じふるまい。

sample1
echo get_the_title();
sample2
the_title();

-> って?

オブジェクトの関数や変数を利用するときに使う。
「の」と置き換えれば読みやすいかも。

sample
$max_page = $wp_query->max_num_pages;
sample
if( $tag_query -> have_posts() ):

=> って?

配列のkey,valueを指定するときに使う。

sample
$args = array(
'alt' => $hoge,
'title' => $hoge,
);

配列の一番最後、「,」残っててもエラーにならないの不思議。

add_action()、add_filter()がやたら出てくる

function.phpに何か機能を追加するとき、
調べるといつも最後にadd_*(hogehoge,hogehoge)って書くように言われるけど、なにこれ?

sample
add_action(フック,関数名);
add_filter(フック,関数名);

2つ引数があって、2つ目は関数名で前後に記述があるけど、1つ目のこれは何?
1つ目は、フックと呼ばれるもの。
フックはいつのタイミングで呼び出すかを設定する。すでに定められている。
(参考)
WordPress Codex - アクションフック一覧

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

11
11
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11