42
Study of WordPress 2011.11.25 By Yu Odagaki デデデデデデデデデ PHP デデ for WordPress

デザイナーのためのPHP講座 for WordPress (初級)

  • Upload
    -

  • View
    2.533

  • Download
    1

Embed Size (px)

DESCRIPTION

WordPressはインストールしたけど、テンプレートタグってなんでああいう風に書くの?や制御文ってイマイチな方向け。

Citation preview

Page 1: デザイナーのためのPHP講座  for WordPress (初級)

Study of WordPress2011.11.25

By Yu Odagaki

デザイナーのためのPHP 講座

for WordPress

Page 2: デザイナーのためのPHP講座  for WordPress (初級)

WordPress のインストールをしてみたけれどいまいち構造が掴めない…

そもそも、 WordPress ってどうやって動いているの?

どこから手を付けたらよいのだろう…

な疑問を少しずつ解消していきましょう。

いまいちわかってない後輩

Page 3: デザイナーのためのPHP講座  for WordPress (初級)

WordPress をインストールして様々な情報を設定すると…

すべてはデータベースに登録されます。

これや・・・これも・・・

これなんかも・・・

Page 4: デザイナーのためのPHP講座  for WordPress (初級)

当然・・・

これももちろん・・・

とにかくすべてのデータ(情報)はデータベース化されています。

Page 5: デザイナーのためのPHP講座  for WordPress (初級)

データベースデータベースといってもちゃんと名前があります。

WordPress はこの MySQL というソフトウェアととても親密な関係です。

Page 6: デザイナーのためのPHP講座  for WordPress (初級)

そもそもデータベースって?

表(テーブル)の集まりです。

WordPress のテーブル一覧( phpMyAdmin というソフトを使ってみています)

Page 7: デザイナーのためのPHP講座  for WordPress (初級)

WordPress のテーブル一覧( phpMyAdmin というソフトを使ってみています)

この一つ一つがテーブル(表)というもの。

例えば、「 exam_posts 」というテーブルを詳しく見てみると…

Page 8: デザイナーのためのPHP講座  for WordPress (初級)

中にはこのようなデータがぎっしり詰まっています。

まだまだ横にも縦にも続いています↓→

Page 9: デザイナーのためのPHP講座  for WordPress (初級)

一件を抜き出してみてみると…

いつぞやの投稿だな…とわかるんです。

投稿内容

投稿タイトル

Page 10: デザイナーのためのPHP講座  for WordPress (初級)

つまり WordPress は…

MySQL にすべてを預けているわけです。

Page 11: デザイナーのためのPHP講座  for WordPress (初級)

では、このデータベースから WordPress は適時データを引っぱり出しているわけですが…

何をもって、データ抽出 ( その逆も ) 行っているかといえば…

Page 12: デザイナーのためのPHP講座  for WordPress (初級)

PHP になります。

Page 13: デザイナーのためのPHP講座  for WordPress (初級)

例えば、以下の記述…

そのうちの一つを抜き出してみると…

Page 14: デザイナーのためのPHP講座  for WordPress (初級)

そのうちの一つを抜き出してみると…

<?php echo home_url(); ?>

ホームの… URL ?こんなことが書いています。

結果から言いますと…

ここはこうなります。

Page 15: デザイナーのためのPHP講座  for WordPress (初級)

ちょっと裏側も含めて説明すると…

home_url();

exam_options というテーブルから

http://hogehoge.com

まず、これは…

ここの値(データ)を取ってこい!

Page 16: デザイナーのためのPHP講座  for WordPress (初級)

home_url();

http://hogehoge.com

ようは…

これのこと。

Page 17: デザイナーのためのPHP講座  for WordPress (初級)

では…

<?php echo     home_rul();     ?>

これは??

http://hogehoge.com

home_url();

Page 18: デザイナーのためのPHP講座  for WordPress (初級)

では…

<?php echo     home_rul();     ?>

これは??

http://hogehoge.com

echo は「書け!」という命令になります。

home_rul();

http://hogehoge.com を書け!ということ。

Page 19: デザイナーのためのPHP講座  for WordPress (初級)

「書け!」でこうなった。

Page 20: デザイナーのためのPHP講座  for WordPress (初級)

<?php           ?>

ちなみに…

で囲まれた部分をテンプレートタグ

と呼んだりします。

Page 21: デザイナーのためのPHP講座  for WordPress (初級)

テンプレートタグには色々な書き方があります。

<?php echo ○○○○();   ?>

<?php ○○○○(); ?>

<?php ○○○○(xxxxxx); ?>

○○○○ には色んな名前があります。

Page 22: デザイナーのためのPHP講座  for WordPress (初級)

テンプレートタグ

<?php echo ○○○○();   ?>

<?php ○○○○(); ?>

<?php ○○○○(xxxxxx); ?>

?

には色々な書き方があります。

Page 23: デザイナーのためのPHP講座  for WordPress (初級)

○○○○(xxxxxx);   ○○○○ ();

そもそも下記のような書き方は

ファンクション(関数)と呼ばれています。

先輩 後輩

ブログのタイトル表示したいときはどうしたらいいっすかね?

bloginfo(‘name’) 使えばいいんだよ! ( 怒 )

「○○使えばいいんだよ ( 怒 ) 」と道具のように扱われます。

Page 24: デザイナーのためのPHP講座  for WordPress (初級)

先輩 後輩

()の中になんか書くやつと書かないやつって何が違うんすかね?

そりゃあ、おめえよ!

<?php ○○○○(); ?>

<?php ○○○○(xxxxxx); ?>

使ったときの効果は一通り。

「 xxxxxxx 」の内容によって違った効果も!!

Page 25: デザイナーのためのPHP講座  for WordPress (初級)

<?php bloginfo(‘description’);?>

<?php bloginfo(‘name’);?>

<?php bloginfo(‘charset’);?>

それぞれ、上から「ブログの名前」、「ブログの説明」、「ブログで使用している文字コード」

Page 26: デザイナーのためのPHP講座  for WordPress (初級)

name

discription

charset

「ダッシュボードの一般設定」

「ダッシュボードの表示設定」

もちろん(話は戻りますが)これらのデータも結局、データベースに入っているんですけどね。

Page 27: デザイナーのためのPHP講座  for WordPress (初級)

後輩

にしてもファンクションって種類多いっすね~

だからこそ調査するスキルも身に付けましょう!!

single_cat_title() って何だろうと思ったら…

Page 28: デザイナーのためのPHP講座  for WordPress (初級)

ファンクション(関数)をある程度掴んだら、こんどは制御文。

例えば、投稿記事はこのようにどんどん増えていきます…

Page 29: デザイナーのためのPHP講座  for WordPress (初級)

後輩

記事を出すファンクション使えばいいんだよ!

10 個記事があったら10 回そのファンクションを呼べばいいのか…

後輩

探せば件数分一度に出してくれるファンクションが

あるだろうよ!

残念ながら、そこまで便利なものはありません。

Page 30: デザイナーのためのPHP講座  for WordPress (初級)

まず…1 件ずつしか投稿データをとってくることができません。

今は5件

このように複数の投稿がある場合、その都度投稿数をチェックするなんてことは当然しません。すぐ増えますし…

Page 31: デザイナーのためのPHP講座  for WordPress (初級)

最初お伝えした通り、 WordPress のなんやかんやはすべてデータベース(この場合だと M y SQL )に入っています。

Page 32: デザイナーのためのPHP講座  for WordPress (初級)

やはりそこは便利なファンクションがありまして…

have_posts()

表示するべき投稿があるかどうかを調べてくれます。

そしてこのファンクションは特別なところでしか使用できません。

Page 33: デザイナーのためのPHP講座  for WordPress (初級)

そしてこのファンクションは特別なところでしか使用できません。

Page 34: デザイナーのためのPHP講座  for WordPress (初級)

一つ一つ分解して見ていきます①

~もし (if) 、投稿が1つでもあったら (have_posts)

~ の部分をやるよ。

Page 35: デザイナーのためのPHP講座  for WordPress (初級)

一つ一つ分解して見ていきます②

投稿がある間 (while) ~ の部分をやるよ。

Page 36: デザイナーのためのPHP講座  for WordPress (初級)

一つ一つ分解して見ていきます③

次の投稿を一件とってくるよ。

Page 37: デザイナーのためのPHP講座  for WordPress (初級)

一つ一つ分解して見ていきます④

とってきた投稿のタイトル ( 標題 ) を出すよ。

Page 38: デザイナーのためのPHP講座  for WordPress (初級)

一つ一つ分解して見ていきます⑤

とってきた投稿のコンテンツ ( 本文 ) を出すよ。

Page 39: デザイナーのためのPHP講座  for WordPress (初級)

しつこいようで復習。

もし、投稿がなかったらなにもやらないよ!でももし、投稿あったら投稿があるだけ

投稿を取り出して、タイトル表示して、内容表示することを

繰り返すよ!

Page 40: デザイナーのためのPHP講座  for WordPress (初級)

後輩

なんかさっきのままだと読みにくいから直してやったぜ!

もちろん、どっちで書いても動きます。

こんな風に書きなおすこともできます。

if while

Page 41: デザイナーのためのPHP講座  for WordPress (初級)

先輩 後輩

おめー、何俺が書いたコード勝手に修正してんだよ!(怒)

どっちでも動くからいいじゃないっすかー!

でも、短い方がいいという方もいます。今のところ、読めればどっちでもいいです。

×

Page 42: デザイナーのためのPHP講座  for WordPress (初級)

ファンクションの使い方とif や while といった制御文の

仕組みを理解すれば WordPress の初級はクリア!

かも…しれません。

後輩

早く、初級を脱したいよ。