狠狠撸

狠狠撸Share a Scribd company logo
カスタム投稿タイプを使って
WPプラグインを作るスペシャル



      翱厂厂カフェ?确认スペシャル
自己紹介


デジタルキューブで保守や開発案件

Trust Form, WP Post Branches



                               @horike37
今日の内容


カスタム投稿タイプを使用したプラグイン
を制作して、その威力を実感してもらう
今日の内容


カスタム投稿タイプを使用したプラグイン
を制作して、その威力を実感してもらう
カスタム投稿タイプとは?


WordPressには「投稿」「固定ページ」のようなページの
種類とは別で新たな投稿の種類を追加できる




                カスタム投稿タイプ
データの上ではどうなってる?




        post_type
      によって差別化

       post : 投稿
       page : 固定ページ
       speaker : スピーカー
       sponsor : スポンサー
奥辞谤诲笔谤别蝉蝉のデータ构造
データベース

wp_commentmeta   wp_terms
wp_comments      wp_term_relationships
wp_links         wp_term_taxonomy
wp_options       wp_usermeta
wp_postmeta      wp_users
wp_posts

計11個のテーブルでWPは動いてます
データベース

wp_commentmeta   wp_terms
wp_comments      wp_term_relationships
wp_links         wp_term_taxonomy
wp_options       wp_usermeta
wp_postmeta      wp_users
wp_posts

計11個のテーブルでWPは動いてます
wp_posts

WordPressの投稿の情報が
格納されている
1レコードが1記事に該当する
wp_postmeta

それぞれの投稿に対するメタ情
報。カスタムフィールドの値。
wp_postmeta

      それぞれの投稿に対するメタ情
      報。カスタムフィールドの値。



WPが柔軟と言われる秘密がこのテーブルにある!
wp_postmeta
wp_postmeta
wp_postmeta
wp_postmeta




keyとvalueという対になるデータでテーブル
を構成している
wp_postmeta
wp_postmeta
wp_postmeta




1つの投稿に対して無限に紐付くデータを
付加できる
wp_postmeta


データの定義が変わってもalter tableしなくてよい
一昔前のwebアプリ

昔のwebシステムではデータの項目を変更するご
とにテーブルの構造を変化させてた
一昔前のwebアプリ

実際にそんなことしてたら変化について行
けません!
一昔前のwebアプリ

実際にそんなことしてたら変化について行
けません!
WPのデータ構造

wp_usermeta, wp_options, wp_commentmeta
についてもkey,valueのつくりを採用


WordPress全体が変化に柔軟な作りとなっている


             バージョンアップが容易!
             カスタム性もUP!
データにアクセスする方法
データアクセスの方法


   SQL
データアクセスの方法


   SQL


   ダメ!!!
データアクセスの方法

WPから提供されている関数を使用しましょう

wp_posts
wp_insert_post(),wp_update_post(),get_posts()

wp_postmeta
update_post_meta(),get_post_meta()
関数を使うメリット

SQLを書かなくていいので楽

関数内でセキュリティ対策してくれてる

テーブル構造が変わってもSQLの修正が発生しない
関数を使うメリット

 wp_post_metaに配列やオブジェクトを格納できる

update_post_meta( id , meta_key , array(
                                   aa => bb ));
get_post_meta( id , meta_key );
データアクセス方法のまとめ

関数を使用してアクセスすることで、機能をフルに使える


SQLは基本使用しないことで安全かつ効率的に制作
カスタム投稿タイプでプラグイン
を作ってみよう
カスタム投稿タイプで作るって?


 wp_postsとwp_postmetaでデータを設計すること
Trust Formの設計

普通であれば。。
              問い合せマ
               スタ




                      問い合わせ
   フォーム部      メールテー
                      受信テーブ
    品情報        ブル
                        ル


  すべてが別テーブルとして作られる
Trust Formの設計

                        wp_posts
            問い合せマ
             スタ




                        問い合わせ
フォーム部       メールテー
                        受信テーブ
 品情報         ブル
                          ル



          wp_postmeta
Trust Formの設計

post_typeがtrust-formの投稿


各投稿に紐付く情報はすべてwp_postmetaに格納
カスタム投稿タイプで作るメリット


wp_postmetaによるデータの拡張性。メンテが楽!


既存のエクスポート、インポート機能が使える


テーマでget_postsによりデータが活用しやすい
どんなプラグインを作る?

画像のスライダープラグイン


カスタム投稿の1投稿を1枚の画像として設計


画像自体はアイキャッチに登録
告知
告知



WordPressアジュール部発足しました!
告知



WordPressアジュール部発足しました!

More Related Content

What's hot (12)

Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
Junji Manno
?
3rdFocus製品で出来る、Movable Typeをより上手に拡張するアイデア
3rdFocus製品で出来る、Movable Typeをより上手に拡張するアイデア3rdFocus製品で出来る、Movable Typeをより上手に拡張するアイデア
3rdFocus製品で出来る、Movable Typeをより上手に拡張するアイデア
Hiroshi Yamato
?
[JAWS-UG 三都物語 2014] 三都物語でAmazon SWFと握手!
[JAWS-UG 三都物語 2014] 三都物語でAmazon SWFと握手! [JAWS-UG 三都物語 2014] 三都物語でAmazon SWFと握手!
[JAWS-UG 三都物語 2014] 三都物語でAmazon SWFと握手!
Akio Katayama
?
はじめてのWordPress勉強会 vol.07 バックアップ
はじめてのWordPress勉強会 vol.07 バックアップはじめてのWordPress勉強会 vol.07 バックアップ
はじめてのWordPress勉強会 vol.07 バックアップ
MoritaMasahiro
?
Stack Overflow+英文読む時、便利なツール
Stack Overflow+英文読む時、便利なツールStack Overflow+英文読む時、便利なツール
Stack Overflow+英文読む時、便利なツール
ishiki-takai
?
Mtcafe tokyo 2013_spring_okuwaki
Mtcafe tokyo 2013_spring_okuwakiMtcafe tokyo 2013_spring_okuwaki
Mtcafe tokyo 2013_spring_okuwaki
Tomohiro Okuwaki
?
20130225 pronet study
20130225 pronet study20130225 pronet study
20130225 pronet study
Six Apart
?
システムをダイナミックに運用する from DevLove関西
システムをダイナミックに運用する from DevLove関西システムをダイナミックに運用する from DevLove関西
システムをダイナミックに運用する from DevLove関西
Daisuke Kasuya
?
奥辞谤诲笔谤别蝉蝉って何
奥辞谤诲笔谤别蝉蝉って何奥辞谤诲笔谤别蝉蝉って何
奥辞谤诲笔谤别蝉蝉って何
Kazue Igarashi
?
惭辞惫补产濒别罢测辫别と奥辞谤诲笔谤别蝉蝉の比较
惭辞惫补产濒别罢测辫别と奥辞谤诲笔谤别蝉蝉の比较惭辞惫补产濒别罢测辫别と奥辞谤诲笔谤别蝉蝉の比较
惭辞惫补产濒别罢测辫别と奥辞谤诲笔谤别蝉蝉の比较
Hirofumi Nakahashi
?
第一回スライド
第一回スライド第一回スライド
第一回スライド
洋介 池田
?
掲载されやすいプレスリリースの作り方
掲载されやすいプレスリリースの作り方掲载されやすいプレスリリースの作り方
掲载されやすいプレスリリースの作り方
Yu Matsui
?
3rdFocus製品で出来る、Movable Typeをより上手に拡張するアイデア
3rdFocus製品で出来る、Movable Typeをより上手に拡張するアイデア3rdFocus製品で出来る、Movable Typeをより上手に拡張するアイデア
3rdFocus製品で出来る、Movable Typeをより上手に拡張するアイデア
Hiroshi Yamato
?
[JAWS-UG 三都物語 2014] 三都物語でAmazon SWFと握手!
[JAWS-UG 三都物語 2014] 三都物語でAmazon SWFと握手! [JAWS-UG 三都物語 2014] 三都物語でAmazon SWFと握手!
[JAWS-UG 三都物語 2014] 三都物語でAmazon SWFと握手!
Akio Katayama
?
はじめてのWordPress勉強会 vol.07 バックアップ
はじめてのWordPress勉強会 vol.07 バックアップはじめてのWordPress勉強会 vol.07 バックアップ
はじめてのWordPress勉強会 vol.07 バックアップ
MoritaMasahiro
?
Stack Overflow+英文読む時、便利なツール
Stack Overflow+英文読む時、便利なツールStack Overflow+英文読む時、便利なツール
Stack Overflow+英文読む時、便利なツール
ishiki-takai
?
Mtcafe tokyo 2013_spring_okuwaki
Mtcafe tokyo 2013_spring_okuwakiMtcafe tokyo 2013_spring_okuwaki
Mtcafe tokyo 2013_spring_okuwaki
Tomohiro Okuwaki
?
20130225 pronet study
20130225 pronet study20130225 pronet study
20130225 pronet study
Six Apart
?
システムをダイナミックに運用する from DevLove関西
システムをダイナミックに運用する from DevLove関西システムをダイナミックに運用する from DevLove関西
システムをダイナミックに運用する from DevLove関西
Daisuke Kasuya
?
奥辞谤诲笔谤别蝉蝉って何
奥辞谤诲笔谤别蝉蝉って何奥辞谤诲笔谤别蝉蝉って何
奥辞谤诲笔谤别蝉蝉って何
Kazue Igarashi
?
惭辞惫补产濒别罢测辫别と奥辞谤诲笔谤别蝉蝉の比较
惭辞惫补产濒别罢测辫别と奥辞谤诲笔谤别蝉蝉の比较惭辞惫补产濒别罢测辫别と奥辞谤诲笔谤别蝉蝉の比较
惭辞惫补产濒别罢测辫别と奥辞谤诲笔谤别蝉蝉の比较
Hirofumi Nakahashi
?
掲载されやすいプレスリリースの作り方
掲载されやすいプレスリリースの作り方掲载されやすいプレスリリースの作り方
掲载されやすいプレスリリースの作り方
Yu Matsui
?

Similar to 确认スペシャル! (6)

爱と涙の奥辞谤诲笔谤别蝉蝉无理やりカスタマイズ事例集
爱と涙の奥辞谤诲笔谤别蝉蝉无理やりカスタマイズ事例集爱と涙の奥辞谤诲笔谤别蝉蝉无理やりカスタマイズ事例集
爱と涙の奥辞谤诲笔谤别蝉蝉无理やりカスタマイズ事例集
Hidekazu Ishikawa
?
All about WordPress ~データから読み解くWordPress~
All about WordPress ~データから読み解くWordPress~All about WordPress ~データから読み解くWordPress~
All about WordPress ~データから読み解くWordPress~
Hitoshi Omagari
?
WordPress初心者からの脱出! カスタムなんとかをちゃんと理解する
WordPress初心者からの脱出! カスタムなんとかをちゃんと理解するWordPress初心者からの脱出! カスタムなんとかをちゃんと理解する
WordPress初心者からの脱出! カスタムなんとかをちゃんと理解する
Takashi Uemura
?
奥辞谤诲笔谤别蝉蝉ってブログじゃないの?
奥辞谤诲笔谤别蝉蝉ってブログじゃないの?奥辞谤诲笔谤别蝉蝉ってブログじゃないの?
奥辞谤诲笔谤别蝉蝉ってブログじゃないの?
tokumotonahoko
?
世界標準ブログツール WordPressの最新版3.0と豊富なプラグイン
世界標準ブログツール WordPressの最新版3.0と豊富なプラグイン世界標準ブログツール WordPressの最新版3.0と豊富なプラグイン
世界標準ブログツール WordPressの最新版3.0と豊富なプラグイン
tamotsu toyoda
?
Word Press on Movable Type
Word Press on Movable TypeWord Press on Movable Type
Word Press on Movable Type
Hajime Fujimoto
?
爱と涙の奥辞谤诲笔谤别蝉蝉无理やりカスタマイズ事例集
爱と涙の奥辞谤诲笔谤别蝉蝉无理やりカスタマイズ事例集爱と涙の奥辞谤诲笔谤别蝉蝉无理やりカスタマイズ事例集
爱と涙の奥辞谤诲笔谤别蝉蝉无理やりカスタマイズ事例集
Hidekazu Ishikawa
?
All about WordPress ~データから読み解くWordPress~
All about WordPress ~データから読み解くWordPress~All about WordPress ~データから読み解くWordPress~
All about WordPress ~データから読み解くWordPress~
Hitoshi Omagari
?
WordPress初心者からの脱出! カスタムなんとかをちゃんと理解する
WordPress初心者からの脱出! カスタムなんとかをちゃんと理解するWordPress初心者からの脱出! カスタムなんとかをちゃんと理解する
WordPress初心者からの脱出! カスタムなんとかをちゃんと理解する
Takashi Uemura
?
奥辞谤诲笔谤别蝉蝉ってブログじゃないの?
奥辞谤诲笔谤别蝉蝉ってブログじゃないの?奥辞谤诲笔谤别蝉蝉ってブログじゃないの?
奥辞谤诲笔谤别蝉蝉ってブログじゃないの?
tokumotonahoko
?
世界標準ブログツール WordPressの最新版3.0と豊富なプラグイン
世界標準ブログツール WordPressの最新版3.0と豊富なプラグイン世界標準ブログツール WordPressの最新版3.0と豊富なプラグイン
世界標準ブログツール WordPressの最新版3.0と豊富なプラグイン
tamotsu toyoda
?

More from horike37 (19)

サーバ管理はサーバレスで
サーバ管理はサーバレスでサーバ管理はサーバレスで
サーバ管理はサーバレスで
horike37
?
Amazon API Gateway + WordPress
Amazon API Gateway + WordPressAmazon API Gateway + WordPress
Amazon API Gateway + WordPress
horike37
?
奥辞谤诲笔谤别蝉蝉で行う継続的インテグレーションのススメ
奥辞谤诲笔谤别蝉蝉で行う継続的インテグレーションのススメ奥辞谤诲笔谤别蝉蝉で行う継続的インテグレーションのススメ
奥辞谤诲笔谤别蝉蝉で行う継続的インテグレーションのススメ
horike37
?
め组テーマはテーマを捨てる
め组テーマはテーマを捨てるめ组テーマはテーマを捨てる
め组テーマはテーマを捨てる
horike37
?
Media Assembly Kitの紹介
Media Assembly Kitの紹介Media Assembly Kitの紹介
Media Assembly Kitの紹介
horike37
?
AWS Cloud Roadshow 2014 大阪 LT
AWS Cloud Roadshow 2014 大阪 LTAWS Cloud Roadshow 2014 大阪 LT
AWS Cloud Roadshow 2014 大阪 LT
horike37
?
WordPress meats up
WordPress meats upWordPress meats up
WordPress meats up
horike37
?
WordCamp Tokyo 2014
WordCamp Tokyo 2014WordCamp Tokyo 2014
WordCamp Tokyo 2014
horike37
?
Amazon Kinesisを使用した関連記事配信システム
Amazon Kinesisを使用した関連記事配信システムAmazon Kinesisを使用した関連記事配信システム
Amazon Kinesisを使用した関連記事配信システム
horike37
?
WordPress on AWS
WordPress on AWSWordPress on AWS
WordPress on AWS
horike37
?
础惭滨惭翱罢翱绍介
础惭滨惭翱罢翱绍介础惭滨惭翱罢翱绍介
础惭滨惭翱罢翱绍介
horike37
?
第7回ゆるふわ勉强会
第7回ゆるふわ勉强会第7回ゆるふわ勉强会
第7回ゆるふわ勉强会
horike37
?
奥辞谤诲颁补尘辫翱蝉补办补2012セッション资料
奥辞谤诲颁补尘辫翱蝉补办补2012セッション资料奥辞谤诲颁补尘辫翱蝉补办补2012セッション资料
奥辞谤诲颁补尘辫翱蝉补办补2012セッション资料
horike37
?
Word camptokyo2012セッション資料
Word camptokyo2012セッション資料Word camptokyo2012セッション資料
Word camptokyo2012セッション資料
horike37
?
奥辞谤诲笔谤别蝉蝉アジュール部第1回勉强会
奥辞谤诲笔谤别蝉蝉アジュール部第1回勉强会奥辞谤诲笔谤别蝉蝉アジュール部第1回勉强会
奥辞谤诲笔谤别蝉蝉アジュール部第1回勉强会
horike37
?
Word bench東京lt資料
Word bench東京lt資料Word bench東京lt資料
Word bench東京lt資料
horike37
?
サーバ管理はサーバレスで
サーバ管理はサーバレスでサーバ管理はサーバレスで
サーバ管理はサーバレスで
horike37
?
Amazon API Gateway + WordPress
Amazon API Gateway + WordPressAmazon API Gateway + WordPress
Amazon API Gateway + WordPress
horike37
?
奥辞谤诲笔谤别蝉蝉で行う継続的インテグレーションのススメ
奥辞谤诲笔谤别蝉蝉で行う継続的インテグレーションのススメ奥辞谤诲笔谤别蝉蝉で行う継続的インテグレーションのススメ
奥辞谤诲笔谤别蝉蝉で行う継続的インテグレーションのススメ
horike37
?
め组テーマはテーマを捨てる
め组テーマはテーマを捨てるめ组テーマはテーマを捨てる
め组テーマはテーマを捨てる
horike37
?
Media Assembly Kitの紹介
Media Assembly Kitの紹介Media Assembly Kitの紹介
Media Assembly Kitの紹介
horike37
?
AWS Cloud Roadshow 2014 大阪 LT
AWS Cloud Roadshow 2014 大阪 LTAWS Cloud Roadshow 2014 大阪 LT
AWS Cloud Roadshow 2014 大阪 LT
horike37
?
WordPress meats up
WordPress meats upWordPress meats up
WordPress meats up
horike37
?
WordCamp Tokyo 2014
WordCamp Tokyo 2014WordCamp Tokyo 2014
WordCamp Tokyo 2014
horike37
?
Amazon Kinesisを使用した関連記事配信システム
Amazon Kinesisを使用した関連記事配信システムAmazon Kinesisを使用した関連記事配信システム
Amazon Kinesisを使用した関連記事配信システム
horike37
?
WordPress on AWS
WordPress on AWSWordPress on AWS
WordPress on AWS
horike37
?
础惭滨惭翱罢翱绍介
础惭滨惭翱罢翱绍介础惭滨惭翱罢翱绍介
础惭滨惭翱罢翱绍介
horike37
?
第7回ゆるふわ勉强会
第7回ゆるふわ勉强会第7回ゆるふわ勉强会
第7回ゆるふわ勉强会
horike37
?
奥辞谤诲颁补尘辫翱蝉补办补2012セッション资料
奥辞谤诲颁补尘辫翱蝉补办补2012セッション资料奥辞谤诲颁补尘辫翱蝉补办补2012セッション资料
奥辞谤诲颁补尘辫翱蝉补办补2012セッション资料
horike37
?
Word camptokyo2012セッション資料
Word camptokyo2012セッション資料Word camptokyo2012セッション資料
Word camptokyo2012セッション資料
horike37
?
奥辞谤诲笔谤别蝉蝉アジュール部第1回勉强会
奥辞谤诲笔谤别蝉蝉アジュール部第1回勉强会奥辞谤诲笔谤别蝉蝉アジュール部第1回勉强会
奥辞谤诲笔谤别蝉蝉アジュール部第1回勉强会
horike37
?
Word bench東京lt資料
Word bench東京lt資料Word bench東京lt資料
Word bench東京lt資料
horike37
?

确认スペシャル!

Editor's Notes