12 word pressカスタマイズ(プラグイン編)

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

description

WordPressカスタマイズ

Transcript of 12 word pressカスタマイズ(プラグイン編)

Page 1: 12 word pressカスタマイズ(プラグイン編)

PHP講座(12)!WordPressカスタマイズ !(プラグイン編)

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

Page 2: 12 word pressカスタマイズ(プラグイン編)

WordPressのプラグインAPI

10.4.18 (C) 株式会社破滅派

2

WordPressは「プラグイン」というシステムによって、機能を拡張することができます。

WordPressにプラグを接続して機能を拡張するために、プラグインとして機能を拡張する必要があります。

Page 3: 12 word pressカスタマイズ(プラグイン編)

WordPressはプラグインをどうやって認識しているか

10.4.18 (C) 株式会社破滅派

3

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

wp-­‐content

wp-­‐include

uploads

themes

plugins

管理画面用のファイル

コア関数ファイル

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

管理画面用のファイル

プラグイン用フォルダ

テーマ用フォルダ

Page 4: 12 word pressカスタマイズ(プラグイン編)

WordPressのプラグインに最低限必要なもの

10.4.18 (C) 株式会社破滅派

4

プラグインフォルダ my-­‐plugin.php

プラグインファイルには必ず決まった書式でプラグインの情報を書きます。  テーマの作り方と同じです。  

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

Page 5: 12 word pressカスタマイズ(プラグイン編)

最初のプラグインを作ってみよう!

10.4.18 (C) 株式会社破滅派

5

1. データに「fuck」と入れてみる  

2. 普通に表示されることを確認

3. プラグインを作成  

4. インストールしてみる  

Page 6: 12 word pressカスタマイズ(プラグイン編)

プラグインを作ってみてどうでしたか?

10.4.18 (C) 株式会社破滅派

6

言われた通りやったら  できたけど自分じゃできないし  

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

あきらめる前にWordPressの基礎知識を学びましょう

Page 7: 12 word pressカスタマイズ(プラグイン編)

そもそもWordPressって何?

10.4.18 (C) 株式会社破滅派

7

1.  WordPressはブログを作成することを目指して作られたCMSです  

2. 当然、CMSに必要なあらゆる機能(DB接続、文字列のチェック、ログインシステム、etc)をすべて持っています。  

3. カスタマイズをしない限り、一連のまとまった処理を行います。  

WordPressはPHPスクリプトの固まりです。  

Page 8: 12 word pressカスタマイズ(プラグイン編)

WordPressの基本的な処理を見てみよう

10.4.18 (C) 株式会社破滅派

8

WordPressのすべての処理はindex.phpにリダイレクトされます。

WordPressのフォルダ index.php

wp-­‐blogheader.php wp-­‐blogheader.php wp-­‐config.php

次々と色んなファイルを読み込んでいきます。まだまだ続きます。

Page 9: 12 word pressカスタマイズ(プラグイン編)

WordPressの処理を追ってみてどうでしたか

10.4.18 (C) 株式会社破滅派

9

ファイル数多過ぎだし  高度なテクニック使いすぎ  

理解できないオワタ  \(^o^)/

WordPressの仕組みを全部理解できなくても大丈夫!  ほとんどのWPerは理解していません。その理由は…

Page 10: 12 word pressカスタマイズ(プラグイン編)

WordPressを完全に理解していなくても大丈夫な理由

10.4.18 (C) 株式会社破滅派

10

自動車の仕組みをしらなくても、運転の仕方を知っていればドライブはできます。

でも、あなたならどんなドライバーに車を運転してもらいたいですか?  

Page 11: 12 word pressカスタマイズ(プラグイン編)

WordPressの仕組みをおおよそ理解する

10.4.18 (C) 株式会社破滅派

11

WordPressには覚えきれないほど膨大な処理が行われていますが、そのすべてを知っていなくても機能を拡張できるように、プラグインAPIと呼ばれるものがついています。

API…Application  Programming  Interface

「ここでこうやってやれば、意図した通りにカスタマイズできるよ」という仕様がWordPress側で決定されています。フックに関数を登録することで、指定のタイミングで関数が実行されます。

1.  アクションフック  

2.  フィルターフック  

Page 12: 12 word pressカスタマイズ(プラグイン編)

アクションフック

10.4.18 (C) 株式会社破滅派

12

WordPressが特定の動作をするときに実行されます。  

<?php    add_action(“アクション名”,  “関数名”);  

?>  

ex.  

singleページだけポップアップ用のJavascriptを読み込んでみましょう!  特定のカテゴリーだけテンプレートを変えてみよう!  

http://wpdocs.sourceforge.jp/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3_API/%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%83%83%E3%82%AF%E4%B8%80%E8%A6%A7

Page 13: 12 word pressカスタマイズ(プラグイン編)

フィルターフック

10.4.18 (C) 株式会社破滅派

13

WordPressが扱う特定のデータを加工します。関数には引数が設定されている場合があります。  

<?php    add_filter(“フィルター名”,  “関数名”);  

?>  

ex.  

ログインしていないユーザーには、投稿者の名前を表示しないようにしたい!  

http://wpdocs.sourceforge.jp/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3_API/%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%83%83%E3%82%AF%E4%B8%80%E8%A6%A7

Page 14: 12 word pressカスタマイズ(プラグイン編)

functions.php

10.4.18 (C) 株式会社破滅派

14

フィルターフックやアクションフックはテーマフォルダ内のfunctions.phpでも使えます。  わざわざプラグインの形式にする必要がないものについては、functions.phpに書いておけばいいでしょう。  

プラグインの形式にする理由はただ一つ、それを「配布」する場合です。  

Page 15: 12 word pressカスタマイズ(プラグイン編)

ループについて

10.4.18 (C) 株式会社破滅派

15

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

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

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

Page 16: 12 word pressカスタマイズ(プラグイン編)

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

10.4.18 (C) 株式会社破滅派

16

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 17: 12 word pressカスタマイズ(プラグイン編)

おまけ:WordPress開発の心得

10.4.18 (C) 株式会社破滅派

17

WordPressにこんな機能がほしい

プラグインがある

このプラグインで十分 不満

自分で0から作る カスタマイズ

プラグインがない

諦める 自分で作る