SlideShare una empresa de Scribd logo
1 de 41
カスタム投稿タイプを使って
WPプラグインを作るスペシャル



      OSSカフェ・確認スペシャル
自己紹介


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

Trust Form, WP Post Branches



                               @horike37
今日の内容


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


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


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




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




        post_type
      によって差別化

       post : 投稿
       page : 固定ページ
       speaker : スピーカー
       sponsor : スポンサー
WordPressのデータ構造
データベース

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アジュール部発足しました!

Más contenido relacionado

La actualidad más candente

Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuokaJunji 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_okuwakiTomohiro Okuwaki
 
20130225 pronet study
20130225 pronet study20130225 pronet study
20130225 pronet studySix Apart
 
システムをダイナミックに運用する from DevLove関西
システムをダイナミックに運用する from DevLove関西システムをダイナミックに運用する from DevLove関西
システムをダイナミックに運用する from DevLove関西Daisuke Kasuya
 
MovableTypeとWordPressの比較
MovableTypeとWordPressの比較MovableTypeとWordPressの比較
MovableTypeとWordPressの比較Hirofumi Nakahashi
 
第一回スライド
第一回スライド第一回スライド
第一回スライド洋介 池田
 
掲載されやすいプレスリリースの作り方
掲載されやすいプレスリリースの作り方掲載されやすいプレスリリースの作り方
掲載されやすいプレスリリースの作り方Yu Matsui
 

La actualidad más candente (12)

Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
 
3rdFocus製品で出来る、Movable Typeをより上手に拡張するアイデア
3rdFocus製品で出来る、Movable Typeをより上手に拡張するアイデア3rdFocus製品で出来る、Movable Typeをより上手に拡張するアイデア
3rdFocus製品で出来る、Movable Typeをより上手に拡張するアイデア
 
[JAWS-UG 三都物語 2014] 三都物語でAmazon SWFと握手!
[JAWS-UG 三都物語 2014] 三都物語でAmazon SWFと握手! [JAWS-UG 三都物語 2014] 三都物語でAmazon SWFと握手!
[JAWS-UG 三都物語 2014] 三都物語でAmazon SWFと握手!
 
はじめてのWordPress勉強会 vol.07 バックアップ
はじめてのWordPress勉強会 vol.07 バックアップはじめてのWordPress勉強会 vol.07 バックアップ
はじめてのWordPress勉強会 vol.07 バックアップ
 
Stack Overflow+英文読む時、便利なツール
Stack Overflow+英文読む時、便利なツールStack Overflow+英文読む時、便利なツール
Stack Overflow+英文読む時、便利なツール
 
Mtcafe tokyo 2013_spring_okuwaki
Mtcafe tokyo 2013_spring_okuwakiMtcafe tokyo 2013_spring_okuwaki
Mtcafe tokyo 2013_spring_okuwaki
 
20130225 pronet study
20130225 pronet study20130225 pronet study
20130225 pronet study
 
システムをダイナミックに運用する from DevLove関西
システムをダイナミックに運用する from DevLove関西システムをダイナミックに運用する from DevLove関西
システムをダイナミックに運用する from DevLove関西
 
WordPressって何
WordPressって何WordPressって何
WordPressって何
 
MovableTypeとWordPressの比較
MovableTypeとWordPressの比較MovableTypeとWordPressの比較
MovableTypeとWordPressの比較
 
第一回スライド
第一回スライド第一回スライド
第一回スライド
 
掲載されやすいプレスリリースの作り方
掲載されやすいプレスリリースの作り方掲載されやすいプレスリリースの作り方
掲載されやすいプレスリリースの作り方
 

Similar a 確認スペシャル!

愛と涙のWordPress無理やりカスタマイズ事例集
愛と涙のWordPress無理やりカスタマイズ事例集愛と涙のWordPress無理やりカスタマイズ事例集
愛と涙のWordPress無理やりカスタマイズ事例集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
 
WordPressってブログじゃないの?
WordPressってブログじゃないの?WordPressってブログじゃないの?
WordPressってブログじゃないの?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 TypeHajime Fujimoto
 

Similar a 確認スペシャル! (6)

愛と涙のWordPress無理やりカスタマイズ事例集
愛と涙のWordPress無理やりカスタマイズ事例集愛と涙のWordPress無理やりカスタマイズ事例集
愛と涙のWordPress無理やりカスタマイズ事例集
 
All about WordPress ~データから読み解くWordPress~
All about WordPress ~データから読み解くWordPress~All about WordPress ~データから読み解くWordPress~
All about WordPress ~データから読み解くWordPress~
 
WordPress初心者からの脱出! カスタムなんとかをちゃんと理解する
WordPress初心者からの脱出! カスタムなんとかをちゃんと理解するWordPress初心者からの脱出! カスタムなんとかをちゃんと理解する
WordPress初心者からの脱出! カスタムなんとかをちゃんと理解する
 
WordPressってブログじゃないの?
WordPressってブログじゃないの?WordPressってブログじゃないの?
WordPressってブログじゃないの?
 
世界標準ブログツール WordPressの最新版3.0と豊富なプラグイン
世界標準ブログツール WordPressの最新版3.0と豊富なプラグイン世界標準ブログツール WordPressの最新版3.0と豊富なプラグイン
世界標準ブログツール WordPressの最新版3.0と豊富なプラグイン
 
Word Press on Movable Type
Word Press on Movable TypeWord Press on Movable Type
Word Press on Movable Type
 

Más de horike37

サーバ管理はサーバレスで
サーバ管理はサーバレスでサーバ管理はサーバレスで
サーバ管理はサーバレスでhorike37
 
Amazon API Gateway + WordPress
Amazon API Gateway + WordPressAmazon API Gateway + WordPress
Amazon API Gateway + WordPresshorike37
 
WordPressで行う継続的インテグレーションのススメ
WordPressで行う継続的インテグレーションのススメWordPressで行う継続的インテグレーションのススメ
WordPressで行う継続的インテグレーションのススメ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 大阪 LThorike37
 
WordPress meats up
WordPress meats upWordPress meats up
WordPress meats uphorike37
 
WordCamp Tokyo 2014
WordCamp Tokyo 2014WordCamp Tokyo 2014
WordCamp Tokyo 2014horike37
 
Amazon Kinesisを使用した関連記事配信システム
Amazon Kinesisを使用した関連記事配信システムAmazon Kinesisを使用した関連記事配信システム
Amazon Kinesisを使用した関連記事配信システムhorike37
 
WordPress on AWS
WordPress on AWSWordPress on AWS
WordPress on AWShorike37
 
AMIMOTO紹介
AMIMOTO紹介AMIMOTO紹介
AMIMOTO紹介horike37
 
Wpdevmeeting
WpdevmeetingWpdevmeeting
Wpdevmeetinghorike37
 
第7回ゆるふわ勉強会
第7回ゆるふわ勉強会第7回ゆるふわ勉強会
第7回ゆるふわ勉強会horike37
 
WordCampOsaka2012セッション資料
WordCampOsaka2012セッション資料WordCampOsaka2012セッション資料
WordCampOsaka2012セッション資料horike37
 
Word camptokyo2012セッション資料
Word camptokyo2012セッション資料Word camptokyo2012セッション資料
Word camptokyo2012セッション資料horike37
 
WordPressアジュール部第1回勉強会
WordPressアジュール部第1回勉強会WordPressアジュール部第1回勉強会
WordPressアジュール部第1回勉強会horike37
 
Word bench東京lt資料
Word bench東京lt資料Word bench東京lt資料
Word bench東京lt資料horike37
 

Más de horike37 (19)

サーバ管理はサーバレスで
サーバ管理はサーバレスでサーバ管理はサーバレスで
サーバ管理はサーバレスで
 
Amazon API Gateway + WordPress
Amazon API Gateway + WordPressAmazon API Gateway + WordPress
Amazon API Gateway + WordPress
 
WordPressで行う継続的インテグレーションのススメ
WordPressで行う継続的インテグレーションのススメWordPressで行う継続的インテグレーションのススメ
WordPressで行う継続的インテグレーションのススメ
 
め組テーマはテーマを捨てる
め組テーマはテーマを捨てるめ組テーマはテーマを捨てる
め組テーマはテーマを捨てる
 
Media Assembly Kitの紹介
Media Assembly Kitの紹介Media Assembly Kitの紹介
Media Assembly Kitの紹介
 
AWS Cloud Roadshow 2014 大阪 LT
AWS Cloud Roadshow 2014 大阪 LTAWS Cloud Roadshow 2014 大阪 LT
AWS Cloud Roadshow 2014 大阪 LT
 
WordPress meats up
WordPress meats upWordPress meats up
WordPress meats up
 
WordCamp Tokyo 2014
WordCamp Tokyo 2014WordCamp Tokyo 2014
WordCamp Tokyo 2014
 
Amazon Kinesisを使用した関連記事配信システム
Amazon Kinesisを使用した関連記事配信システムAmazon Kinesisを使用した関連記事配信システム
Amazon Kinesisを使用した関連記事配信システム
 
WordPress on AWS
WordPress on AWSWordPress on AWS
WordPress on AWS
 
Wc kansai
Wc kansaiWc kansai
Wc kansai
 
AMIMOTO紹介
AMIMOTO紹介AMIMOTO紹介
AMIMOTO紹介
 
Wpdevmeeting
WpdevmeetingWpdevmeeting
Wpdevmeeting
 
Coda
CodaCoda
Coda
 
第7回ゆるふわ勉強会
第7回ゆるふわ勉強会第7回ゆるふわ勉強会
第7回ゆるふわ勉強会
 
WordCampOsaka2012セッション資料
WordCampOsaka2012セッション資料WordCampOsaka2012セッション資料
WordCampOsaka2012セッション資料
 
Word camptokyo2012セッション資料
Word camptokyo2012セッション資料Word camptokyo2012セッション資料
Word camptokyo2012セッション資料
 
WordPressアジュール部第1回勉強会
WordPressアジュール部第1回勉強会WordPressアジュール部第1回勉強会
WordPressアジュール部第1回勉強会
 
Word bench東京lt資料
Word bench東京lt資料Word bench東京lt資料
Word bench東京lt資料
 

確認スペシャル!

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n