Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

2,979 views

Published on

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

Published in: Design
  • Be the first to comment

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

  1. 1. Study of WordPress 2011.11.25 By Yu Odagakiデザイナーのための PHP講座 for WordPress
  2. 2. WordPressのインストールをしてみたけれど いまいち構造が掴めない… そもそも、WordPressってどうやって 動いているの? どこから手を付けたらよいのだろう…な疑問を少しずつ解消していきましょう。 いまいちわかってない 後輩
  3. 3. WordPressをインストールして様々な情報を設定すると… これや・・・ これも・・・ これなんかも・・・ すべてはデータベースに登録されます。
  4. 4. 当然・・・これももちろん・・・ とにかくすべてのデータ(情報)はデータベース化されています。
  5. 5. データベースデータベースといってもちゃんと名前があります。 WordPressはこのMySQLというソフトウェアととても親密な関係です。
  6. 6. そもそもデータベースって? WordPressのテーブル一覧(phpMyAdminというソフトを使ってみています) 表(テーブル)の集まりです。
  7. 7. この一つ一つがテーブル(表)というもの。 WordPressのテーブル一覧(phpMyAdminというソフトを使ってみています)例えば、「exam_posts」というテーブルを詳しく見てみると…
  8. 8. 中にはこのようなデータがぎっしり詰まっています。 まだまだ横にも縦にも続いています↓→
  9. 9. 一件を抜き出してみてみると… 投稿内容 投稿タイトル いつぞやの投稿だな…とわかるんです。
  10. 10. つまりWordPressは… MySQLにすべてを預けているわけです。
  11. 11. では、このデータベースからWordPressは適時データを 引っぱり出しているわけですが… 何をもって、データ抽出(その逆も)行っているかといえば…
  12. 12. PHPになります。
  13. 13. 例えば、以下の記述…そのうちの一つを抜き出してみると…
  14. 14. そのうちの一つを抜き出してみると… ホームの…URL? こんなことが書いています。 <?php echo home_url(); ?>結果から言いますと… ここはこうなります。
  15. 15. ちょっと裏側も含めて説明すると… まず、これは… home_url(); exam_optionsというテーブルからここの値(データ)を 取ってこい! http://hogehoge.com
  16. 16. ようは… home_url(); これのこと。 http://hogehoge.com
  17. 17. では… これは?? home_url();<?php echo http://hogehoge.com home_rul(); ?>
  18. 18. では… これは?? home_rul(); <?php echo http://hogehoge.com home_rul(); ?> echoは 「書け!」という 命令になります。http://hogehoge.com を書け!ということ。
  19. 19. 「書け!」でこうなった。
  20. 20. ちなみに…<?php ?> で囲まれた部分を テンプレートタグ と呼んだりします。
  21. 21. テンプレートタグには色々な書き方があります。 <?php echo ○○○○(); ?> <?php ○○○○(); ?> <?php ○○○○(xxxxxx); ?>○○○○には色んな名前があります。
  22. 22. テンプレートタグには色々な書き方があります。 <?php echo ○○○○(); ?> <?php ○○○○(); ?> <?php ○○○○(xxxxxx); ?> ?
  23. 23. そもそも下記のような書き方は ○○○○(xxxxxx); ○○○○(); ファンクション(関数)と呼ばれています。 ブログのタイトル表示したいとき はどうしたらいいっすかね? bloginfo(‘name’)使えば いいんだよ!(怒) 先輩 後輩 「○○使えばいいんだよ(怒)」と道具のように扱われます。
  24. 24. ()の中になんか書くやつと書か ないやつって何が違うんすかね? そりゃあ、おめえよ!先輩 後輩 <?php ○○○○(); ?> 使ったときの効果は一通り。 <?php ○○○○(xxxxxx); ?> 「xxxxxxx」の内容によって違った効果も!!
  25. 25. <?php bloginfo(‘name’);?> <?php bloginfo(‘description’);?> <?php bloginfo(‘charset’);?>それぞれ、上から「ブログの名前」、「ブログの説明」、「ブログで使用している文字コード」
  26. 26. name 「ダッシュボードの一般設定」 discriptio n 「ダッシュボードの表示設定」 charsetもちろん(話は戻りますが)これらのデータも結局、データベースに入っているんですけどね。
  27. 27. にしてもファンクションって 種類多いっすね~ だからこそ調査するスキルも 身に付けましょう!! 後輩single_cat_title()って何だろうと思ったら…
  28. 28. ファンクション(関数)をある程度掴んだら、こんどは制御文。 例えば、投稿記事はこのようにどんどん増えていきます…
  29. 29. 記事を出すファンクション 使えばいいんだよ!10個記事があったら10回そのファンクションを呼べばいいのか… 後輩 探せば件数分一度に出してくれるファンクションが あるだろうよ!残念ながら、そこまで便利なものはありません。 後輩
  30. 30. まず… 1件ずつしか投稿データをとってくることが できません。今は5件このように複数の投稿がある場合、その都度投稿数をチェックするなんてことは当然しません。すぐ増えますし…
  31. 31. 最初お伝えした通り、WordPressのなんやかんやはすべてデータベース(この場合だとMySQL)に入っています。
  32. 32. やはりそこは便利なファンクションがありまして… have_posts() 表示するべき投稿があるかどうかを調べてく れます。そしてこのファンクションは特別なところでしか使用できません。
  33. 33. そしてこのファンクションは特別なところでしか使用できません。
  34. 34. 一つ一つ分解して見ていきます① ~もし(if)、投稿が1つでもあったら(have_posts) ~ の部分をやるよ。
  35. 35. 一つ一つ分解して見ていきます② ~投稿がある間(while) ~ の部分をやるよ。
  36. 36. 一つ一つ分解して見ていきます③ 次の投稿を一件とってくるよ。
  37. 37. 一つ一つ分解して見ていきます④ とってきた投稿のタイトル(標題)を出すよ。
  38. 38. 一つ一つ分解して見ていきます⑤とってきた投稿のコンテンツ(本文)を出すよ。
  39. 39. しつこいようで復習。 もし、投稿がなかったらなにもやらないよ!でも もし、投稿あったら投稿があるだけ投稿を取り出して、タイトル表示して、内容表示すること を 繰り返すよ!
  40. 40. こんな風に書きなおすこともできます。if while なんかさっきのままだと読みにくいから 直してやったぜ! もちろん、どっちで書いても 動きます。 後輩
  41. 41. × おめー、何俺が書いたコード 勝手に修正してんだよ!(怒) どっちでも動くから いいじゃないっすかー!先輩 後輩 でも、短い方がいいという方もいます。 今のところ、読めればどっちでもいいです。
  42. 42. ファンクションの使い方と if や while といった制御文の仕組みを理解すればWordPressの初級はクリア! かも…しれません。 早く、初級を脱したいよ。 後輩

×