デザイナーのためのはじめてPHP
~Codex、どう使いこなす? ~
PHP分からない!
Codexなんて見てもさっぱり分からない!!
Codexを見るより、親切丁寧な解説ブログを検索してしまう・・・
そんなデザイナーさん向けに
少しだけPHPを理解して、さらにCodexの見方も解説します
@takenao
デザイナーさんと組んでPHPを書く人です。
5歳と3歳児の母。在宅ワーカー。
Web:技術系: takenote ( http://tech.belinko.net/ )
日記系: takenao( http://takenao.belinko.net/ )
Like:WordPress、ピアノ、寄生虫、料理
算数、Johnny Depp
武田 菜穂子(たけだ なおこ)
ソラソル株式会社
( http://sorasol.jp )
こんな会社で働いています
Web制作
(WordPressなど)
ソーシャルメディア
コンサルティング
プラスアイデア
動画プロモーション
ウェブマーケティング
・オウンドメディア企画制作
・リスティング広告運用
・ランディングページ制作
・スマホアプリ開発
・テルトラッキング
・日本唯一のUsteram視聴者レポーティングシステム
・簡易カタログiPhoneアプリ
・YouTubeブランドチャネル制作
・Ustream配信プロデュース
・動画制作
・FBアプリ開発
・FBページ作成
・ソーシャルメディア企画
森光加奈子(もりみつ かなこ)
R-web株式会社:WEBデザイナー
http://www.r-web.jp/
PHPが全く分からないデザイナー。
大学生・高校生・中学生の3人の子どもの母。
子ども達の部活の応援を、命がけでしている
体育会系のママWEBデザイナーです。
「女性向け」のWEB制作を得意としています。
ktkanako
趣味:カメラ・阪神タイガースの応援
個人サイト フリー素材 blue-green
http://bluegreen.jp/
 If、Whileの書き方がわかる
 テンプレート階層の考え方がわかる
 WordPressによく出てくるPHPのコード
(テンプレートタグ・条件分岐タグ)について、
調べる手がかりを得る
(Codexの使い方)
このセッションの目的
1.PHPって?
2.テンプレート階層を理解してデザインを変える
3.IF(条件分岐タグ)とwhile(ループ)を理解しよう
4.テンプレートタグ
5.まとめ
本日のメニュー
1.PHPって?
2.テンプレート階層を理解してデザインを変える
3.IF(条件分岐タグ)とwhile(ループ)を理解しよう
4.テンプレートタグ
5.まとめ
本日のメニュー
拡張子がphp
PHPって?
HTML 静的 PHP 動的
<?php で始まって・・・(開始タグ)
?> で終わる・・・(終了タグ)
 例)
<?php echo date( ‘ Y ’ ); ?>
コードの終わりにはセミコロン
PHPの基本
PHP関数の基本
変数(普通$argsとか) 値
パラメータ・引数関数
kanako.php
<?php $kanako = ‘森光 加奈子’;
print_r( $kanako ); ?>です。
kanako.phpを実行すると・・・
構文エラーって?(syntax error)
$kanako(変数)を使いまわす
kanako_2.php
<?php $kanako = ‘森光 加奈子’;
print_r( $kanako ); ?>です。
</br>
<?php print_r( $kanako ); ?>です。
</br>
<?php print_r( $kanako ); ?>です。
kanako_2.phpを実行すると・・・
$kanako(変数)を変えてみる
kanako_3.php
<?php $kanako = ‘武田 加奈子’;
print_r( $kanako ); ?>です。
</br>
<?php print_r( $kanako ); ?>です。
</br>
<?php print_r( $kanako ); ?>です。
kanako_3.phpを実行すると・・・
PHPのコメント
htmlの場合は…
<! -- コメント -->
PHPの場合は…
<?php the_time(); //記事の投稿日を出力 ?>
とか
<?php /* コメント
複数行でもOK! */ ?>
1.PHPって?
2.テンプレート階層を理解してデザインを変える
3.IF(条件分岐タグ)とwhile(ループ)を理解しよう
4.テンプレートタグ
5.まとめ
本日のメニュー
 HTML ・・・ 全ページのhtmlを作成する必要がある
 WordPress ・・・ 表示する内容の種類によって、使用さ
れるファイルが決まっている
→テンプレート階層
詳しくはCodex「テンプレート階層」
WordPressって、
ファイル数少ないよね?
 例)
カテゴリ「news」だけ、
他のカテゴリと違うデザインにしたい場合
どうやってテンプレートを作るの??
テンプレート階層を理解して、
デザインを変える 1
WordPress はリストの上から順に、ファイ
ルがないかどうか探していき、最初に見つ
けたファイルを使います。
そして・・・最終的に使うのは「index.php」
テンプレート階層を理解して、
デザインを変える 2
 category-slug.php -- 特定のカテゴリー用テンプレート
↓
 category-ID.php -- 特定のカテゴリー用テンプレート
↓
 category.php -- カテゴリーの汎用テンプレート
↓
 archive.php -- 汎用アーカイブテンプレート
↓
 index.php
テンプレート階層を理解して、
デザインを変える 3
「news」の部分は、カテゴリのIDでもよいし、スラッグで
もよい
テンプレート階層を理解して、
デザインを変える 4
→テンプレート階層
Codex「テンプレート階層」
「りんご」カテゴリーのスラッグが 'apple' だった場合、
WordPress はまず category-apple.php というテンプレート
ファイルを探します。テーマディレクトリ内にこのファイルが
ない場合、ID が4とすれば、category-4.php を探します。こ
れも見つからなければさらに category.php、次に
archive.php を探します。それもなければ、あらゆるページ
に使える基本のテーマテンプレートファイル index.php を使
います。
実はCodexに書いていた!
・ShowID for Post/Page/Category/Tag/Comment
投稿やカテゴリのIDを表示する
・ Debug Bar
・ Debug-Bar-Extender
両方入れることが必要です。
実行結果は次のスライドで・・・
参考:便利なプラグイン
参考:便利なプラグイン
どのテンプレートを使ってhtmlが表示されてい
るかがわかる
1.PHPって?
2.テンプレート階層を理解してデザインを変える
3.if(条件分岐タグ)とwhile(ループ)を理解しよう
4.テンプレートタグ
5.まとめ
本日のメニュー
<?php if ( is_front_page() ) : //もしフロントページ
なら ?>
<h2> Welcome!! </h2>
<?php endif; // is_front_page()判定の終了 ?>
よく出る制御文 if文 と 条件分岐
詳しくはCodex「条件分岐タグ」
例1)
<?php if( 条件式 ):
条件式にあった場合のプログラム
else:
条件式に合わなかった場合のプログラム
endif; ?>
If文の書き方 例1
例2
<?php if( 条件式 ){
条件式にあった場合のプログラム
} else {
条件式に合わなかった場合のプログラム
} ?>
If文の書き方 例2
「endif; 」を省略した書き方!
例3
<?php if( 条件式1 ){
条件式1にあった場合のプログラム
} elseif( 条件式2 ) {
条件式2にあった場合のプログラム
} else {
条件式に合わなかった場合のプログラム
} ?>
If文の書き方 例3
<?php if ( have_posts() ) :
while ( have_posts() ) : the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php the_time();
the_content();
endwhile; else: ?>
<p><?php _e( 'Sorry, no posts matched your
criteria.‘ ); ?></p>
<?php endif; ?>
よく出る制御文 while文
WordPressのテンプレートで絶対
出てくるループ。
ループは index.php などのテンプ
レートファイルに含め、投稿の情
報を表示するために使います。
例1
<?php while(条件式):
条件式にあった場合に繰り返すプログラム
endwhile; ?>
While文の書き方
例2
<?php while(条件式){
条件式にあった場合に繰り返すプログラム
} ?>
While文の書き方
<?php if ( have_posts() ) :
while ( have_posts() ) : the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php the_time();
the_content();
endwhile; else: ?>
<p><?php _e( 'Sorry, no posts matched your
criteria.‘ ); ?></p>
<?php endif; ?>
よく出る制御文 while文
※「if」と「while」が
セットに!!
1.PHPって?
2.テンプレート階層を理解してデザインを変える
3.if(条件分岐タグ)とwhile(ループ)を理解しよう
4.テンプレートタグ
5.まとめ
本日のメニュー
<?php wp_title(); ?>
とか、
<?php echo home_url( ); ?>
とか
<?php the_title(); ?>
とか
<?php wp_list_categories(); ?>
とか
・・・ いーっぱいあります(^^)/
テンプレートタグって?
 ブログの基本情報を表示します。
<a href=“http://example.com/about”>ABOUT</a>
<a href=“<?php echo home_url( ); ?>/about”>ABOUT</a>
よく出てくるテンプレートタグ
home_url()
テンプレートタグを使って動的に出力することにより、URLが
違うサイトでも同じテーマ・テンプレートを使うことができる
→ 再利用できるから効率的
<?php
wp_list_categories( ‘orderby=count&show_cou
nt=1&exclude=3,5‘ ); ?>
・orderby = count ・・・カテゴリーの投稿数順に表示する。
・show_count = 1 ・・・各カテゴリーに投稿数を表示する。
(初期値0では表示しない)
・exclude = 3,5 ・・・ カテゴリID3と5はリストに表示しない
よく出てくるテンプレートタグ
wp list categories
詳しくはCodex「 wp list categories」
<?php $args = array(
'orderby' => ‘count',
'show_count' => 1,
'exclude' => ' 3,5 ‘ ) ;
wp_list_categories( $args ) ; ?>
Codexにならってarrayで書き換えると…
1.PHPって?
2.テンプレート階層を理解してデザインを変える
3.if(条件分岐タグ)とwhile(ループ)を理解しよう
4.テンプレートタグ
5.まとめ
本日のメニュー
 PHPはちょっとだけでも意味がわかると(そ
こまで)怖くない。
 Codexを使えるようになると、
カスタマイズの幅が広がる!
 知らないコードが出てきても、
Codexにヒントがあるはず!!
まとめ
 プラグインが急に動かなくなったときは、まず、テンプレー
ト内の<?php wp_head(); ?> と <?php wp_footer(); ?> を削
除していないか確認しよう!
 ダッシュボードの設定でどうにかなることも多いよ!
 TOP以外のページが急に表示されなくなったとき、管理
画面のパーマリンクの設定を保存しなおしてみよう!
おまけ

デザイナーのためのはじめてPHP ~Codex、どう使いこなす?~