11 word pressカスタマイズ(テーマ編)

13
PHP講座(11) WordPressカスタマイズ(テーマ編) この授業ではWordPressのテーマカスタマイズについて説明します。 WordPressのテンプレートシステムを理解し、カスタマイズしましょう

Upload: -

Post on 24-Dec-2014

663 views

Category:

Documents


0 download

DESCRIPTION

PHP講座

TRANSCRIPT

Page 1: 11 word pressカスタマイズ(テーマ編)

PHP講座(11)!WordPressカスタマイズ(テーマ編)

この授業ではWordPressのテーマカスタマイズについて説明します。 WordPressのテンプレートシステムを理解し、カスタマイズしましょう

Page 2: 11 word pressカスタマイズ(テーマ編)

WordPressのテーマシステム

10.4.18 (C) 株式会社破滅派

2

WordPressは「テーマ」によって外観を変更できるというシステムを持っています。

通常のWebサイトはほとんど文章+画像からなるコンテンツで構成されているので、テーマをカスタマイズするだけでほとんど事足ります。

Page 3: 11 word pressカスタマイズ(テーマ編)

WordPressはテーマをどうやって認識しているか

10.4.18 (C) 株式会社破滅派

3

ルートディレクトリ wp-­‐admin

wp-­‐content

wp-­‐include

uploads

themes

plugins

管理画面用のファイル

コア関数ファイル

ユーザーがコンテンツを追加するフォルダ

管理画面用のファイル

プラグイン用フォルダ

テーマ用フォルダ

Page 4: 11 word pressカスタマイズ(テーマ編)

WordPressのテーマに最低限必要なもの

10.4.18 (C) 株式会社破滅派

4

テーマフォルダ index.php

style.css

style.cssには必ず決まった書式でテーマの情報を書きます。  

/*  Theme  Name:  テーマ名  Theme  URI:  URL  Description:  解説 Author:  作者名  Version:      */

オリジナルテーマTwenty  Tenのファイル構成を見てみよう!  

Page 5: 11 word pressカスタマイズ(テーマ編)

オリジナルテーマを作ってみる前に…

10.4.18 (C) 株式会社破滅派

5

1. まずはダミーデータを入れる  http://svn.automattic.com/wpcom-­‐themes/demo/test-­‐data.2010-­‐08-­‐02.xml  

2. オリジナルテーマをインストール  

3. レッツカスタマイズ  

Page 6: 11 word pressカスタマイズ(テーマ編)

テーマを作ってみてどうでしたか?

10.4.18 (C) 株式会社破滅派

6

ハァ? 画面真っ白なんですけど  

つまんねオワタ  \(^o^)/

テーマを作る必須の知識を一応学びましょう

Page 7: 11 word pressカスタマイズ(テーマ編)

必須の知識(1)テンプレート階層

10.4.18 (C) 株式会社破滅派

7

1.  WordPressはURLを解析して、どのコンテンツを求められているのかを判断します  

2.  指定されたコンテンツに対応するテーマファイルがあるかどうかを探します。  

3.  そのファイルを使って投稿を表示します。   http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC

%E3%83%BC%E3%83%88%E9%9A%8E%E5%B1%A4

ex.単一の投稿ページを表示した場合  

1.  single.phpを探す  

2.  なければindex.php  

Page 8: 11 word pressカスタマイズ(テーマ編)

必須の知識(2)インクルードタグ&条件分岐タグ

10.4.18 (C) 株式会社破滅派

8

インクルードタグ

<?php  get_header();  ?>でこれだけ読み込み

条件分岐タグ http://wpdocs.sourceforge.jp/%E3%82%A4%E3%83%B3%E3%82%AF%E3%83%AB%E3%83%BC%E3%83%89%E3%82%BF%E3%82%B0

http://wpdocs.sourceforge.jp/Conditional_Tags

<?php  if(is_single()):  ?>  

<div  id=“single”>  

これは投稿ページです。  

</div>  

<?php  endif;  ?>  

ここはシングルページだけで表示される。

Page 9: 11 word pressカスタマイズ(テーマ編)

必須の知識(3)テンプレートタグ

10.4.18 (C) 株式会社破滅派

9

ちなみに、WordPressの「タグ」ってなんでしょう?  

ただのPHP関数です。  

WordPressは「PHP関数」という言葉で初心者が怯えるのを防ぐために、「タグ」という呼び方をしています。  テンプレートタグはテーマを作成するときに役立つPHP関数です。

<?php  the_title();  //タイトルを出力  the_content();  //本文を出力  bloginfo(‘name’);    //ブログ名を出力  ?>  

Page 10: 11 word pressカスタマイズ(テーマ編)

必須の知識(4)ループ

10.4.18 (C) 株式会社破滅派

10

<?php  if(have_posts()):  while(have_posts()):  the_post();  ?>  

ここに投稿が出力される  

<?php  endwhile;  endif;  ?>  

WordPressにも「おまじない」があります。  

1.  WordPressはURLを解析して、リライトルールを作成します。  

2.  リライトルールに基づき、必要なデータをDBから取ってきます。  

3.  DBから取ってきたデータを使いやすい型に直し、グローバル変数である$postsオブジェクトに格納します。  

4.  the_post()を呼び出すたび、$postsから$postにデータを移動させます。  

5.  the_title()などは$postを常に参照します。

Page 11: 11 word pressカスタマイズ(テーマ編)

ループについて

10.4.18 (C) 株式会社破滅派

11

グローバルとか意味わかんね  

ムズ過ぎオワタ  \(^o^)/

あきらめずにWordPressの構成を見てみましょう!  var_dump($GLOBALS);  でWordPressのグローバル変数を取得できます。

Page 12: 11 word pressカスタマイズ(テーマ編)

やってみよう! トップページのカスタマイズ

10.4.18 (C) 株式会社破滅派

12

1.  トップページを固定ページに変更する  

2.  home.phpを作ってカスタマイズ  

3.  簡単なリードと最新投稿の一覧(全文ではなく、抜粋)を入れる  

4.  カテゴリごとに最新のコンテンツ5件を取得する  

5.  ウィジェットもサポート!  

header

right  column

footer

リードリードリードリードリードリードリードリードリードリード

カテゴリー名  1.  コンテンツのタイトル  2.  コンテンツのタイトル  3.  コンテンツのタイトル  4.  コンテンツのタイトル  5.  コンテンツのタイトル  

カテゴリー名  1.  コンテンツのタイトル  2.  コンテンツのタイトル  3.  コンテンツのタイトル  4.  コンテンツのタイトル  5.  コンテンツのタイトル  

カテゴリー名  1.  コンテンツのタイトル  2.  コンテンツのタイトル  3.  コンテンツのタイトル  4.  コンテンツのタイトル  5.  コンテンツのタイトル  

カテゴリー名  1.  コンテンツのタイトル  2.  コンテンツのタイトル  3.  コンテンツのタイトル  4.  コンテンツのタイトル  5.  コンテンツのタイトル  

Page 13: 11 word pressカスタマイズ(テーマ編)

おまけ 「フック」システム

10.4.18 (C) 株式会社破滅派

13

http://wpdocs.sourceforge.jp/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3_API

WordPressには「フック」と呼ばれる独特のAPIがあります。  

1.  アクションフック  特定の場所で実行される関数を登録できる  

2.  フィルターフック  特定のデータを出力・保存する前に加工できる  

functions.phpにフックを書いて、どうなるかやってみましょう!