SlideShare a Scribd company logo
デザイナさん向けフックの勉強
2013/07/28 瀬戸 貴弘
自己紹介
Twenty Thirteen
hook
瀬戸 貴弘
Twitter
: as.chachamaru
: エンジニア
: @as_chachamaru
Facebook
職業
Web アプリ (Java)
WordPress
その他
最近の使っている開発言語(仕事・プライベート)
Codex:プラグイン API http://p.tl/4rxb
Codex hook
いきなりですが・・・
デザイナーさんを睡魔に誘う魔法の言葉デザイナーさんを睡魔に誘う魔法の言葉
のご紹介
Codex:プラグイン API http://p.tl/4rxb
Codex hook
WordPress はプラグインを WordPress 本体に “引っ
張り込む (hook into)” ためのフックを提供しています。
これはつまり、特定のタイミングでプラグインの関数を
呼び出したり、それによってプラグインを作動させたりす
るためのものです。フックには次の 2 種類があります:
フックとは
Codex:プラグイン API http://p.tl/4rxb
Codex hook
アクションは、実行中の特定のポイントもしくは特定のイ
ベント発生時に WordPress のコアが起動させるフック
です。アクション API を使用して、これらのポイントで実
行中の PHP 関数を一つ以上指定することができます。
アクション
Codex:プラグイン API http://p.tl/4rxb
Codex hook
フィルターは、データベースに追加する前やブラウザの
スクリーンに送り出す前にさまざまなタイプのテキストを
改造するために WordPress が起動させるフックです。
プラグインは、フィルター API を使用して、これらのタイ
ミングで特定のタイプのテキストを改造するために一つ
以上の PHP 関数の実行を指定することがきます。
フィルター
Codex hook
(゚▽゚`*)ハイ?
わからなくてOK!
まずは、3つのキーワードだけを覚えといてください。
Codex hook
3つのキーワード
・フック
・アクション
・フィルター
いきなり使い方を説明しても難しいので3つのキーワードが何かイメージできるようになりましょう。
フックとは hook
まずは・・・・
フック・アクション・フィルターフック・アクション・フィルター
      とは何かをイメージしてみよう!      とは何かをイメージしてみよう!
フック・アクション・フィルターって何? hook
ということでアクションゲーム風の画面で説明していきます。
フック・アクション・フィルターって何? hook
基本的なプログラムの動き
ということでアクションゲーム風の画面で説明していきます。
スス
Codex hook
スススス
ゴゴ
ひたすら前進!ひたすら前進!
ひたすら前進!ひたすら前進!
ひたすら前進!ひたすら前進!
一般的な簡単なプログラム。ひたすら前進!後戻りできない。
フック・アクション・フィルターって何? hook
何か処理があれば、処理をしながら進む!
処理処理
処理処理
フック・アクション・フィルターって何? hook
条件が全く同じならば何度動かしても動きの内容は変わりません。
何度動かしても動きの内容は同じ何度動かしても動きの内容は同じ
フック・アクション・フィルターって何?
何度動かしても動きの内容は同じ何度動かしても動きの内容は同じ ポイント
hook
プログラムは決められたことを
      決められ通りにしか処理しない!
フック・アクション・フィルターって何?
WordPressWordPressもプログラムもプログラム
hook
投稿内容や設定などの条件が全く同じならば
何度アクセスしても決められたことを処理し、
同じ内容を表示する。
フック・アクション・フィルターって何? hook
WordPressの決められた動きを変更したい!
アレンジ
フック・アクション・フィルターって何? hook
WordPress本体(コア)を書き換えちゃえ!
WordPressもPHPで記述されているのでPHPの知識があれば可能ですね。でもやめましょう!
X
WordPressは常にバージョンアップしてる。
アレンジしたところが上書きされちゃうよ。
コア触って影響箇所把握できるの?
フック・アクション・フィルターって何? hook
WordPress本体(コア)を
    アレンジしたいときはどうするの?
フック・アクション・フィルターって何? hook
そこで出てくるのが
フックフック
という仕組み
フック・アクション・フィルターって何? hook
部屋を準備します! ただし目的や場所はこっちで決めます!  扉の種類は2つです。
フック・アクション・フィルターって何? hook
アレンジする処理は部屋の中でしてください。外は常に変化してるので触らないでください。
アレンジする処理アレンジする処理
フック・アクション・フィルターって何? hook
目的や場所は決められています。名前を変更したい場合は、名前を変更できる部屋を探します。
例1:名前をアレンジする部屋
フック・アクション・フィルターって何?
アレンジする処理がなければ特に変化はなくて名前は “ちゃちゃ丸” のまま
hook
アレンジする処理がない場合アレンジする処理がない場合
フック・アクション・フィルターって何?
名前の前に ”スーパー” と ”超” を追加するアレンジ処理。名前が “超スーパーちゃちゃ丸” になる。
hook
「スーパー」追加「スーパー」追加 「超」追加「超」追加
アレンジする処理がある場合アレンジする処理がある場合
フック・アクション・フィルターって何? hook
目的や場所は決められたいます。食事をしたい場合は、食事ができる部屋を探します。
例2:食事をする部屋
フック・アクション・フィルターって何?
”食事をする” という動作をする部屋です。動作に対して処理の変更や追加などを行います。
“名前を変更する” のように特定の情報を変更するための部屋ではありません。
hook
水を交換する水を交換する おやつをあげるおやつをあげる
3つのキーワードを思い出してください。
Codex hook
3つのキーワード
・フック
・アクション
・フィルター
Codex:プラグイン API http://p.tl/4rxb
Codex hook
WordPress はプラグインを WordPress 本体に “引っ
張り込む (hook into)” ためのフックを提供しています。
フックとは
目的や場所が決まった部屋を準備します。目的や場所が決まった部屋を準備します。
Codex:プラグイン API http://p.tl/4rxb
Codex hook
アクションは、実行中の特定のポイントもしくは特定のイ
ベント発生時に WordPress のコアが起動させるフック
です。
アクション
””食事をする”などある特定の行動に対し、食事をする”などある特定の行動に対し、
他の処理を追加するために準備された部屋他の処理を追加するために準備された部屋
Codex:プラグイン API http://p.tl/4rxb
Codex hook
フィルターは、データベースに追加する前やブラウザの
スクリーンに送り出す前にさまざまなタイプのテキストを
改造するために WordPress が起動させるフックです。
フィルター
””名前を変更する”などある特定の情報を名前を変更する”などある特定の情報を
変更するために準備された部屋変更するために準備された部屋
フック・アクション・フィルターって何? hook
ということで
フック・アクション・フィルターフック・アクション・フィルター
のイメージついたでしょうか?
しばらく休憩しましょう!しばらく休憩しましょう!
フック・アクション・フィルターの使い方 hook
では、どのように
フック・アクション・フィルターフック・アクション・フィルター
を使うのか・・・・
Codex:プラグイン API http://p.tl/4rxb
Codex hook
またまたですが・・・
デザイナーさんを睡魔に誘う魔法の言葉デザイナーさんを睡魔に誘う魔法の言葉
のご紹介
第二弾
Codex:プラグイン API http://p.tl/4rxb
Codex hook
●イベント発生時に実行する PHP 関数を作成
●add_action を呼び出して WordPress にフック
●プラグイン内の PHP 関数が挿入され、始動される
アクション実行の基本ステップ
Codex:プラグイン API http://p.tl/4rxb
Codex hook
●
データをフィルタリングする関数を作成
●add_filter を呼び出す
●作成した PHP 関数をプラグインファイルに入れ、有効化
フィルター実行の基本ステップ
Codex hook
(゚▽゚`*)ハイ?
わからなくてOK!
フック・アクション・フィルターの使い方 hook
アクションもフィルターも難しく
違うステップのように書かれていますが・・・・
簡単で基本ステップは同じ!簡単で基本ステップは同じ!
フック・アクション・フィルターの使い方 hook
フックの基本ステップ
1.1. プレゼントボックスを準備するプレゼントボックスを準備する
2.2. 部屋を選んでプレゼントボックスを置く部屋を選んでプレゼントボックスを置く
3.3. ちゃちゃ丸が部屋に入ってプレゼントを開封ちゃちゃ丸が部屋に入ってプレゼントを開封
フック・アクション・フィルターの使い方 hook
フックの基本ステップ
1.1.
2.2.
3.3.
プレゼントボックス準備
部屋に置く
ちゃちゃ丸開封
フック・アクション・フィルターの使い方 hook
フックの基本ステップ
1.1.
2.2.
3.3.
プレゼントボックス準備
部屋に置く
ちゃちゃ丸開封
フック・アクション・フィルターの使い方 hook
フックの基本ステップ
3.3. ちゃちゃ丸開封
WordPressWordPress本体(コア)がする作業。本体(コア)がする作業。
3. はWordPress本体(コア)がする作業なので、1. と 2. だけすればよい
フック・アクション・フィルターの使い方 hook
プレゼントボックスを置く注意点!
スーパー 超
超 スーパー
超スーパーちゃちゃ丸
スーパー超ちゃちゃ丸
プログラムは先にあったプレゼントボックスから開封する。よって置く順番によって結果が変わる。
フック・アクション・フィルターの使い方 hook
フックの基本ステップ
1.1. プレゼントボックスを準備するプレゼントボックスを準備する
2.2. 部屋を選んでプレゼントボックスを置く部屋を選んでプレゼントボックスを置く
●
プレゼントボックスに名前をつけます。
●
プレゼントボックスはいくつでも作れます。※ 同じ名前はつけれません。
●
プレゼントの中身はご自由に
●
たくさんの部屋の中からプレゼントボックスを置く部屋を決めます。
●
部屋に置くプレゼントボックスを選びます。
●
置く順番を決めてプレゼントボックスを起きます。
  ※順番は連番でなく飛び番でもOK! 10でも20でも
※ プレゼントボックスは番号の小さい順に置かれます。
フック・アクション・フィルターの使い方 hook
フックの基本ステップ
プレゼント名プレゼント名
どの部屋にどの部屋に
どのプレゼントボックスをどのプレゼントボックスを
どの順番にどの順番に
中身1.1.
2.2.
フック・アクション・フィルターの使い方 hook
アクションフックの基本ステップ
1.1.
2.2.
function プレゼント名プレゼント名() {
}
add_action( どの部屋にどの部屋に ,プレゼント名プレゼント名 , どの順番にどの順番に)
フック・アクション・フィルターの使い方 hook
フィルターフックの基本ステップ
1.1.
2.2.
function プレゼント名プレゼント名() {
}
add_filter( どの部屋にどの部屋に ,プレゼント名プレゼント名 , どの順番にどの順番に)
Codex hook
ワヵッタァァァ━!!>ヽ(o>Д<○ヽ☆☆
簡単でしょ?
サンプルをみていきましょう!サンプルをみていきましょう!
まとめ
Twenty Thirteen
jQuery
WordPressのアレンジを本体(コア)改造でしちゃダメよ!
フック(※専用の部屋)を使ってください。
フック(※専用の部屋)はたくさんあります。
まずはどんな部屋があるが軽く目を通そう!
フック(※専用の部屋)は2種類(アクション・フィルター)!
基本動作はほぼ同じ。違いだけ軽く理解しておこう。
・
・
・
・
部屋へプレゼントボックスを置く方法は非常に簡単。
add_action、add_filterの使い方を覚えましょう!
部屋へプレゼントボックスを置く方法は非常に簡単。
add_action、add_filterの使い方を覚えましょう!
フックで難しいのはプレゼントボックスを作るところ。
余裕があったらPHPの勉強を。
・
まとめ jQuery
今回の勉強会はフックの基本!
いろいろ試して経験積んでいってください。
e(^。^)9 ファイト!!
おわり jQuery
ありがとうございました。
Twitter
: as.chachamaru
: @as_chachamaru
Facebook

More Related Content

PDF
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
PDF
Bot Framework v4 開発 Tips 2018-11
PDF
アプリ屋もDockerをドカドカ使おう ~ Docker入門
PDF
Windows コンテナを AKS に追加する
PDF
βが取れたBluemixのDockerを使ってみる(基本編)
PPTX
1分で分かるdeveloperWorks Premium
PDF
はてなにおける継続的デプロイメントの現状と Docker の導入
PDF
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
Bot Framework v4 開発 Tips 2018-11
アプリ屋もDockerをドカドカ使おう ~ Docker入門
Windows コンテナを AKS に追加する
βが取れたBluemixのDockerを使ってみる(基本編)
1分で分かるdeveloperWorks Premium
はてなにおける継続的デプロイメントの現状と Docker の導入
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用

What's hot (20)

PPTX
BluemixでDockerを試してみる
PDF
Responsableを使ったadr実装
PDF
OWIN って何?
PDF
Write slides and books in VSCode + Markdown
PDF
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
KEY
Play勉強会 第3回
KEY
プラガブル Play20 Scala
PDF
Run Jenkins in IBM Containers.
PDF
Netラボ2012年3月勉強会ライトニングトーク
PDF
C#の強み、或いは何故PHPから乗り換えるのか
PDF
Introduce React Native
PDF
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
PDF
Laravel5を使って開発してみた
PDF
はじめての CircleCI
PDF
AWSで開発するサーバレスAPIバックエンド
PPTX
.NET vNext
PPTX
Automatic api document generation 101
PDF
.NET最先端技術によるハイパフォーマンスウェブアプリケーション
PDF
Vagrant & Dockerによるイマドキの開発環境構築
PPTX
Inside of swift
BluemixでDockerを試してみる
Responsableを使ったadr実装
OWIN って何?
Write slides and books in VSCode + Markdown
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Play勉強会 第3回
プラガブル Play20 Scala
Run Jenkins in IBM Containers.
Netラボ2012年3月勉強会ライトニングトーク
C#の強み、或いは何故PHPから乗り換えるのか
Introduce React Native
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
Laravel5を使って開発してみた
はじめての CircleCI
AWSで開発するサーバレスAPIバックエンド
.NET vNext
Automatic api document generation 101
.NET最先端技術によるハイパフォーマンスウェブアプリケーション
Vagrant & Dockerによるイマドキの開発環境構築
Inside of swift
Ad

Viewers also liked (19)

PPTX
Visualizing Diversity of the City
PDF
たぶん45分くらいでわかる、オープンソースの世界
PDF
Soramame.Block 100行のJavaScriptで ビジュアルプログラミング言語(のフロントエンド)を作ってみた:
PDF
I love Automation
PDF
オープンソースによるイノベーションの継続
PDF
ギークスマホ「Fx0」入手と運用
PPTX
オープンデータで社会を変える - 国内外における事例とそのインパクトとは?
PPTX
専修大ワークショップ演習
PDF
WordPressプラグイン開発の めんどうな作業は執事(Jenkins)にお任せ
PPTX
社会的課題としての認知症 ~学生のみなさんの取り組みに向けて~
PDF
WordPress の .htaccess って何者?
PDF
みんなで市場変化を予測して自分のキャリアを考える会
PDF
環境変化が個人のキャリアに与える影響
PPTX
セクターを越えたつながり~ DFJIの取り組み~
PPTX
オープンデータフォーラム〜地方におけるオープンデータ〜「アイディアソン」
PPTX
LinkData.orgの公開データから見える共通語彙基盤(IMI)普及の可能性
PDF
業界コミュニティにおける「勉強会」の作りこみ方
PDF
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
PDF
LODオープンデータのつくりかたと項目名のつけかた
Visualizing Diversity of the City
たぶん45分くらいでわかる、オープンソースの世界
Soramame.Block 100行のJavaScriptで ビジュアルプログラミング言語(のフロントエンド)を作ってみた:
I love Automation
オープンソースによるイノベーションの継続
ギークスマホ「Fx0」入手と運用
オープンデータで社会を変える - 国内外における事例とそのインパクトとは?
専修大ワークショップ演習
WordPressプラグイン開発の めんどうな作業は執事(Jenkins)にお任せ
社会的課題としての認知症 ~学生のみなさんの取り組みに向けて~
WordPress の .htaccess って何者?
みんなで市場変化を予測して自分のキャリアを考える会
環境変化が個人のキャリアに与える影響
セクターを越えたつながり~ DFJIの取り組み~
オープンデータフォーラム〜地方におけるオープンデータ〜「アイディアソン」
LinkData.orgの公開データから見える共通語彙基盤(IMI)普及の可能性
業界コミュニティにおける「勉強会」の作りこみ方
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
LODオープンデータのつくりかたと項目名のつけかた
Ad

Similar to デザイナさん向けWordPressフックの勉強 (20)

PPTX
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
PPTX
Newcomer2020 Docker研修
PDF
DockerとDocker Hubの操作と概念
PDF
Swiftアプリにプッシュ通知を組み込もう!-【番外編】SDKのインポート方法-
PDF
Docker Swarm入門
PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
PDF
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
PDF
Xcode4 project template (slide)
PDF
Operate Clova with Android Things
PDF
Real world android akka
PDF
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
PDF
Docker講習会資料
PDF
Docker for Windows & Web Apps for Containers 実践活用技法
PPTX
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
KEY
Composer による依存管理 と Packagist によるライブラリの公開
PPTX
ラズパイ2で動く Docker PaaS
PDF
hbstudy37 doc
PDF
Open Shift v3 主要機能と内部構造のご紹介
PDF
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
PDF
2016/05/01 Visual Studio with Cordova
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Newcomer2020 Docker研修
DockerとDocker Hubの操作と概念
Swiftアプリにプッシュ通知を組み込もう!-【番外編】SDKのインポート方法-
Docker Swarm入門
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Xcode4 project template (slide)
Operate Clova with Android Things
Real world android akka
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Docker講習会資料
Docker for Windows & Web Apps for Containers 実践活用技法
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
Composer による依存管理 と Packagist によるライブラリの公開
ラズパイ2で動く Docker PaaS
hbstudy37 doc
Open Shift v3 主要機能と内部構造のご紹介
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
2016/05/01 Visual Studio with Cordova

More from Seto Takahiro (6)

PDF
WordPressプラグイン開発で学ぶ継続インテグレーション(CI)
PDF
世界の最前線!VagrantやWP-CLIなどで開発環境をパワーアップ!
PDF
WordPressとjQuery
PDF
テーマ作成のアプローチ
PDF
Trust form (お問い合わせフォームプラグイン)について
PDF
リリース直前WordPress3.5をみてみよう
WordPressプラグイン開発で学ぶ継続インテグレーション(CI)
世界の最前線!VagrantやWP-CLIなどで開発環境をパワーアップ!
WordPressとjQuery
テーマ作成のアプローチ
Trust form (お問い合わせフォームプラグイン)について
リリース直前WordPress3.5をみてみよう

デザイナさん向けWordPressフックの勉強