SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
Study of WordPress
               2011.11.25
             By Yu Odagaki



デザイナーのための
    PHP講座
 for WordPress
WordPressのインストールをしてみたけれど
       いまいち構造が掴めない…

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

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

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




              いまいちわかってない
                  後輩
WordPressをインストールして様々な情報を設定すると…




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




      これなんかも・・・



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




これももちろん・・・




    とにかくすべてのデータ(情報)はデータベース化されています。
データベースデータベースといってもちゃんと名前があります。




  WordPressはこのMySQLというソフトウェアととても親密な関係です。
そもそもデータベースって?




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




   表(テーブル)の集まりです。
この一つ一つがテーブル(表)というもの。




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




例えば、「exam_posts」というテーブルを詳しく見てみると…
中にはこのようなデータがぎっしり詰まっています。




         まだまだ横にも縦にも続いています↓→
一件を抜き出してみてみると…




         投稿内容




                 投稿タイトル




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




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




  何をもって、データ抽出(その逆も)行っているかといえば…
PHPになります。
例えば、以下の記述…




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



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


    <?php echo home_url(); ?>



結果から言いますと…




                     ここはこうなります。
ちょっと裏側も含めて説明すると…


     まず、これは…


         home_url();
               exam_optionsというテーブルから




ここの値(データ)を
  取ってこい!
                                       http://hogehoge.com
ようは…



           home_url();

                             これのこと。


       http://hogehoge.com
では…

    これは??
                 home_url();

<?php echo   http://hogehoge.com
                   home_rul();     ?>
では…

       これは??
                    home_rul();

   <?php echo   http://hogehoge.com
                      home_rul();     ?>


           echoは
         「書け!」という
         命令になります。
http://hogehoge.com を書け!ということ。
「書け!」でこうなった。
ちなみに…


<?php           ?>


   で囲まれた部分を
  テンプレートタグ
   と呼んだりします。
テンプレートタグ
には色々な書き方があります。

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



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



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



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

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



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



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



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

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

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


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




         bloginfo(‘name’)使えば
             いいんだよ!(怒)
   先輩                            後輩
  「○○使えばいいんだよ(怒)」と道具のように扱われます。
()の中になんか書くやつと書か
       ないやつって何が違うんすかね?




          そりゃあ、おめえよ!

先輩                            後輩

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

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


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

         「xxxxxxx」の内容によって違った効果も!!
<?php bloginfo(‘name’);?>


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



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



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

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




             discriptio
                 n


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




          charset


もちろん(話は戻りますが)これらのデータも結局、データベースに入っているんですけどね。
にしてもファンクションって
                     種類多いっすね~




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

single_cat_title()って何だろうと思ったら…
ファンクション(関数)をある程度掴んだら、こんどは制御文。




  例えば、投稿記事はこのようにどんどん増えていきます…
記事を出すファンクション
            使えばいいんだよ!




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

  探せば件数分一度に出してくれるファンクションが
          あるだろうよ!




残念ながら、そこまで便利なものは
ありません。                      後輩
まず…
    1件ずつしか投稿データをとってくることが
    できません。




今
は
5
件


このように複数の投稿がある場合、その都度投稿数をチェック
するなんてことは当然しません。すぐ増えますし…
最初お伝えした通り、WordPressのなんやかんやは
すべてデータベース(この場合だとMySQL)に入っています。
やはりそこは便利なファンクションがありま
して…


       have_posts()



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


そしてこのファンクションは特別
なところでしか使用できません。
そしてこのファンクションは特別
なところでしか使用できません。
一つ一つ分解して見ていきます①




         ~
もし(if)、投稿が1つでもあったら(have_posts)
        ~ の部分をやるよ。
一つ一つ分解して見ていきます②




          ~
投稿がある間(while)   ~   の部分をやるよ。
一つ一つ分解して見ていきます③




   次の投稿を一件とってくるよ。
一つ一つ分解して見ていきます④




 とってきた投稿のタイトル(標題)を出すよ。
一つ一つ分解して見ていきます⑤




とってきた投稿のコンテンツ(本文)を出すよ。
しつこいようで復習。




  もし、投稿がなかったらなにもやらないよ!でも
     もし、投稿あったら投稿があるだけ
投稿を取り出して、タイトル表示して、内容表示すること
            を
          繰り返すよ!
こんな風に書きなおすこともできます。




if while



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




      もちろん、どっちで書いても
          動きます。                 後輩
×
      おめー、何俺が書いたコード
     勝手に修正してんだよ!(怒)




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

  でも、短い方がいいという方もいます。
 今のところ、読めればどっちでもいいです。
ファンクションの使い方と
    if や while といった制御文の
仕組みを理解すればWordPressの初級はクリア!


       かも…しれません。




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

                        後輩

Contenu connexe

Tendances

core dumpでcode golf
core dumpでcode golfcore dumpでcode golf
core dumpでcode golfNomura Yusuke
 
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)Tetsu Yama
 
Programming camp Debug Hacks
Programming camp Debug HacksProgramming camp Debug Hacks
Programming camp Debug HacksHiro Yoshioka
 
Powershell勉強会 v5 (こちらが最新です。)
Powershell勉強会 v5 (こちらが最新です。)Powershell勉強会 v5 (こちらが最新です。)
Powershell勉強会 v5 (こちらが最新です。)Tetsu Yama
 
msysgit1.8.0でプロンプトにブランチ名を表示させる
msysgit1.8.0でプロンプトにブランチ名を表示させるmsysgit1.8.0でプロンプトにブランチ名を表示させる
msysgit1.8.0でプロンプトにブランチ名を表示させるKenichi Yamada
 
楽しい怪しいシェルスクリプト - 第4回つくらぐ勉強会
楽しい怪しいシェルスクリプト - 第4回つくらぐ勉強会楽しい怪しいシェルスクリプト - 第4回つくらぐ勉強会
楽しい怪しいシェルスクリプト - 第4回つくらぐ勉強会University of Tsukuba Linux User Group
 
WordPress のための PHP 超入門
WordPress のための PHP 超入門WordPress のための PHP 超入門
WordPress のための PHP 超入門Michinari Odajima
 

Tendances (8)

Pytorch 01
Pytorch 01Pytorch 01
Pytorch 01
 
core dumpでcode golf
core dumpでcode golfcore dumpでcode golf
core dumpでcode golf
 
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
 
Programming camp Debug Hacks
Programming camp Debug HacksProgramming camp Debug Hacks
Programming camp Debug Hacks
 
Powershell勉強会 v5 (こちらが最新です。)
Powershell勉強会 v5 (こちらが最新です。)Powershell勉強会 v5 (こちらが最新です。)
Powershell勉強会 v5 (こちらが最新です。)
 
msysgit1.8.0でプロンプトにブランチ名を表示させる
msysgit1.8.0でプロンプトにブランチ名を表示させるmsysgit1.8.0でプロンプトにブランチ名を表示させる
msysgit1.8.0でプロンプトにブランチ名を表示させる
 
楽しい怪しいシェルスクリプト - 第4回つくらぐ勉強会
楽しい怪しいシェルスクリプト - 第4回つくらぐ勉強会楽しい怪しいシェルスクリプト - 第4回つくらぐ勉強会
楽しい怪しいシェルスクリプト - 第4回つくらぐ勉強会
 
WordPress のための PHP 超入門
WordPress のための PHP 超入門WordPress のための PHP 超入門
WordPress のための PHP 超入門
 

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

2014/03/29 WordBench TOKYO
2014/03/29 WordBench TOKYO2014/03/29 WordBench TOKYO
2014/03/29 WordBench TOKYOTakashi Kitamura
 
WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?Shinichi Nishikawa
 
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニックWordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニックTakashi Uemura
 
WordPress テーマ作成&PHP超入門
WordPress テーマ作成&PHP超入門WordPress テーマ作成&PHP超入門
WordPress テーマ作成&PHP超入門Michinari Odajima
 
ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争Eric Sartre
 
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!Takashi Uemura
 
テーマ制作時の疑問とノンプログラマーにも優しいテーマを考える
テーマ制作時の疑問とノンプログラマーにも優しいテーマを考えるテーマ制作時の疑問とノンプログラマーにも優しいテーマを考える
テーマ制作時の疑問とノンプログラマーにも優しいテーマを考えるTsuyoshi.
 
101210 supreme web adobe seminar Nagoya
101210 supreme web adobe seminar Nagoya101210 supreme web adobe seminar Nagoya
101210 supreme web adobe seminar Nagoyatamotsu toyoda
 
PHP基礎勉強会
PHP基礎勉強会PHP基礎勉強会
PHP基礎勉強会Yuji Otani
 
PHP, JavaScriptプログラマのためのC#入門
PHP, JavaScriptプログラマのためのC#入門PHP, JavaScriptプログラマのためのC#入門
PHP, JavaScriptプログラマのためのC#入門Tomo Mizoe
 
⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5Nishida Kansuke
 
オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)nomuken
 
「Html sql」で図書館hpにアクセスしてみよう
「Html sql」で図書館hpにアクセスしてみよう「Html sql」で図書館hpにアクセスしてみよう
「Html sql」で図書館hpにアクセスしてみようKentaro Matsui
 
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるPHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるTakuya Sato
 
インデントを減らそう
インデントを減らそうインデントを減らそう
インデントを減らそう知之 朝枝
 
F#+Erlangで簡単なシューティングゲームを作ってみている
F#+Erlangで簡単なシューティングゲームを作ってみているF#+Erlangで簡単なシューティングゲームを作ってみている
F#+Erlangで簡単なシューティングゲームを作ってみているpocketberserker
 
Word pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのかWord pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのかHisateru Tanaka
 

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

2014/03/29 WordBench TOKYO
2014/03/29 WordBench TOKYO2014/03/29 WordBench TOKYO
2014/03/29 WordBench TOKYO
 
WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?
 
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニックWordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
 
資料
資料資料
資料
 
WordPress テーマ作成&PHP超入門
WordPress テーマ作成&PHP超入門WordPress テーマ作成&PHP超入門
WordPress テーマ作成&PHP超入門
 
ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争
 
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
 
テーマ制作時の疑問とノンプログラマーにも優しいテーマを考える
テーマ制作時の疑問とノンプログラマーにも優しいテーマを考えるテーマ制作時の疑問とノンプログラマーにも優しいテーマを考える
テーマ制作時の疑問とノンプログラマーにも優しいテーマを考える
 
101210 supreme web adobe seminar Nagoya
101210 supreme web adobe seminar Nagoya101210 supreme web adobe seminar Nagoya
101210 supreme web adobe seminar Nagoya
 
PHP基礎勉強会
PHP基礎勉強会PHP基礎勉強会
PHP基礎勉強会
 
PHP, JavaScriptプログラマのためのC#入門
PHP, JavaScriptプログラマのためのC#入門PHP, JavaScriptプログラマのためのC#入門
PHP, JavaScriptプログラマのためのC#入門
 
⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5
 
MongoTalkを試してみた
MongoTalkを試してみたMongoTalkを試してみた
MongoTalkを試してみた
 
オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)
 
「Html sql」で図書館hpにアクセスしてみよう
「Html sql」で図書館hpにアクセスしてみよう「Html sql」で図書館hpにアクセスしてみよう
「Html sql」で図書館hpにアクセスしてみよう
 
Webサーバ、HTML
Webサーバ、HTMLWebサーバ、HTML
Webサーバ、HTML
 
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるPHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
 
インデントを減らそう
インデントを減らそうインデントを減らそう
インデントを減らそう
 
F#+Erlangで簡単なシューティングゲームを作ってみている
F#+Erlangで簡単なシューティングゲームを作ってみているF#+Erlangで簡単なシューティングゲームを作ってみている
F#+Erlangで簡単なシューティングゲームを作ってみている
 
Word pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのかWord pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのか
 

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