12 word pressカスタマイズ(プラグイン編)
Post on 13-Jan-2015
782 Views
Preview:
DESCRIPTION
Transcript
PHP講座(12)!WordPressカスタマイズ !(プラグイン編)
この授業ではWordPressの肝であるプラグインカスタマイズについて説明します。 WordPressのテンプレートシステムを理解し、カスタマイズしましょう
WordPressのプラグインAPI
10.4.18 (C) 株式会社破滅派
2
WordPressは「プラグイン」というシステムによって、機能を拡張することができます。
WordPressにプラグを接続して機能を拡張するために、プラグインとして機能を拡張する必要があります。
WordPressはプラグインをどうやって認識しているか
10.4.18 (C) 株式会社破滅派
3
ルートディレクトリ wp-‐admin
wp-‐content
wp-‐include
uploads
themes
plugins
管理画面用のファイル
コア関数ファイル
ユーザーがコンテンツを追加するフォルダ
管理画面用のファイル
プラグイン用フォルダ
テーマ用フォルダ
WordPressのプラグインに最低限必要なもの
10.4.18 (C) 株式会社破滅派
4
プラグインフォルダ my-‐plugin.php
プラグインファイルには必ず決まった書式でプラグインの情報を書きます。 テーマの作り方と同じです。
/* Plugin Name: テーマ名 Plugin URI: URL Description: 解説 Author: 作者名 Version: 1.0 */
最初のプラグインを作ってみよう!
10.4.18 (C) 株式会社破滅派
5
1. データに「fuck」と入れてみる
2. 普通に表示されることを確認
3. プラグインを作成
4. インストールしてみる
プラグインを作ってみてどうでしたか?
10.4.18 (C) 株式会社破滅派
6
言われた通りやったら できたけど自分じゃできないし
つまんねオワタ \(^o^)/
あきらめる前にWordPressの基礎知識を学びましょう
そもそもWordPressって何?
10.4.18 (C) 株式会社破滅派
7
1. WordPressはブログを作成することを目指して作られたCMSです
2. 当然、CMSに必要なあらゆる機能(DB接続、文字列のチェック、ログインシステム、etc)をすべて持っています。
3. カスタマイズをしない限り、一連のまとまった処理を行います。
WordPressはPHPスクリプトの固まりです。
WordPressの基本的な処理を見てみよう
10.4.18 (C) 株式会社破滅派
8
WordPressのすべての処理はindex.phpにリダイレクトされます。
WordPressのフォルダ index.php
wp-‐blogheader.php wp-‐blogheader.php wp-‐config.php
次々と色んなファイルを読み込んでいきます。まだまだ続きます。
WordPressの処理を追ってみてどうでしたか
10.4.18 (C) 株式会社破滅派
9
ファイル数多過ぎだし 高度なテクニック使いすぎ
理解できないオワタ \(^o^)/
WordPressの仕組みを全部理解できなくても大丈夫! ほとんどのWPerは理解していません。その理由は…
WordPressを完全に理解していなくても大丈夫な理由
10.4.18 (C) 株式会社破滅派
10
自動車の仕組みをしらなくても、運転の仕方を知っていればドライブはできます。
でも、あなたならどんなドライバーに車を運転してもらいたいですか?
WordPressの仕組みをおおよそ理解する
10.4.18 (C) 株式会社破滅派
11
WordPressには覚えきれないほど膨大な処理が行われていますが、そのすべてを知っていなくても機能を拡張できるように、プラグインAPIと呼ばれるものがついています。
API…Application Programming Interface
「ここでこうやってやれば、意図した通りにカスタマイズできるよ」という仕様がWordPress側で決定されています。フックに関数を登録することで、指定のタイミングで関数が実行されます。
1. アクションフック
2. フィルターフック
アクションフック
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
フィルターフック
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
functions.php
10.4.18 (C) 株式会社破滅派
14
フィルターフックやアクションフックはテーマフォルダ内のfunctions.phpでも使えます。 わざわざプラグインの形式にする必要がないものについては、functions.phpに書いておけばいいでしょう。
プラグインの形式にする理由はただ一つ、それを「配布」する場合です。
ループについて
10.4.18 (C) 株式会社破滅派
15
グローバルとか意味わかんね
ムズ過ぎオワタ \(^o^)/
あきらめずにWordPressの構成を見てみましょう! var_dump($GLOBALS); でWordPressのグローバル変数を取得できます。
やってみよう! トップページのカスタマイズ
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. コンテンツのタイトル
おまけ:WordPress開発の心得
10.4.18 (C) 株式会社破滅派
17
WordPressにこんな機能がほしい
プラグインがある
このプラグインで十分 不満
自分で0から作る カスタマイズ
プラグインがない
諦める 自分で作る
top related