カスタムフィールドの光と闇。 または、愛について。

41
カスタムフィールドの光と闇。 または、愛について。 2016.2.27@WordBench 山梨 2016.2.27@WordBench Yamanashi vol.2 1

Transcript of カスタムフィールドの光と闇。 または、愛について。

Page 1: カスタムフィールドの光と闇。 または、愛について。

カスタムフィールドの光と闇。または、愛について。

2016.2.27@WordBench 山梨

2016.2.27@WordBench Yamanashi vol.2 1

Page 2: カスタムフィールドの光と闇。 または、愛について。

whoamiじこしょうかい

2016.2.27@WordBench Yamanashi vol.2 2

Page 3: カスタムフィールドの光と闇。 または、愛について。

Toro_Unit占部 紘 (うらべ ひろし)

松本市在住のフリーランス

Frontend Engineer / Plugin Developer / Web Designer

Github: @torounitTwitter: @Toro_UnitFacebook: fb.me/torounitBlog: http://www.torounit.com

2016.2.27@WordBench Yamanashi vol.2 3

Page 4: カスタムフィールドの光と闇。 または、愛について。

WordPressとの関わり

• プラグイン作者 (Custom Post Type Permalinks 等) / コア貢献者 (4.3, 4.4) / VCCW / WP-CLI (0.20.2)

• WordCamp Kansai/Tokyo 2015 スピーカー / WordBash /WordBench 長野(手伝って) / etc....

2016.2.27@WordBench Yamanashi vol.2 4

Page 5: カスタムフィールドの光と闇。 または、愛について。

WordBench 長野・松本藩を立ち上げたので遊びにきて

ね。

飯田藩よりWordBench山梨の方が近いって何事

一日歩けば余裕でつくよ?

2016.2.27@WordBench Yamanashi vol.2 5

Page 6: カスタムフィールドの光と闇。 または、愛について。

はい。

2016.2.27@WordBench Yamanashi vol.2 6

Page 7: カスタムフィールドの光と闇。 または、愛について。

カスタムフィールドって皆さんご存じ?

2016.2.27@WordBench Yamanashi vol.2 7

Page 8: カスタムフィールドの光と闇。 または、愛について。

投稿とか、ページとかに、本文や、タイトル以外で徳治の情報をフリーダムに設定できる機能。

2016.2.27@WordBench Yamanashi vol.2 8

Page 9: カスタムフィールドの光と闇。 または、愛について。

ここからいじれます。

2016.2.27@WordBench Yamanashi vol.2 9

Page 10: カスタムフィールドの光と闇。 または、愛について。

2016.2.27@WordBench Yamanashi vol.2 10

Page 11: カスタムフィールドの光と闇。 または、愛について。

なにこれ。

2016.2.27@WordBench Yamanashi vol.2 11

Page 12: カスタムフィールドの光と闇。 または、愛について。

でもプラグインを使ったりすると。

2016.2.27@WordBench Yamanashi vol.2 12

Page 13: カスタムフィールドの光と闇。 または、愛について。

こんなフィールドを作ったり

2016.2.27@WordBench Yamanashi vol.2 13

Page 14: カスタムフィールドの光と闇。 または、愛について。

投稿画面を簡単にカスタマイズ出来る!

ちなみに長崎のキタジマさん作ってる、Smart Custom Fields 使ってます。 ワタクシもコント

リビューターです。

Smart Custom Fields — WordPress Plugins

2016.2.27@WordBench Yamanashi vol.2 14

Page 15: カスタムフィールドの光と闇。 または、愛について。

ちゃんとWordPressの関数もあるよ!• get_post_meta();• update_post_meta();• etc....

2016.2.27@WordBench Yamanashi vol.2 15

Page 16: カスタムフィールドの光と闇。 または、愛について。

すっごーい。(棒)

2016.2.27@WordBench Yamanashi vol.2 16

Page 17: カスタムフィールドの光と闇。 または、愛について。

でも

2016.2.27@WordBench Yamanashi vol.2 17

Page 18: カスタムフィールドの光と闇。 または、愛について。

ちゃんとしらないで使うと地獄をみるよ?

2016.2.27@WordBench Yamanashi vol.2 18

Page 19: カスタムフィールドの光と闇。 または、愛について。

CMS等のカスタマイズを考えるときの僕らの頭の中

2016.2.27@WordBench Yamanashi vol.2 19

Page 20: カスタムフィールドの光と闇。 または、愛について。

2016.2.27@WordBench Yamanashi vol.2 20

Page 21: カスタムフィールドの光と闇。 または、愛について。

現実

2016.2.27@WordBench Yamanashi vol.2 21

Page 22: カスタムフィールドの光と闇。 または、愛について。

wp_posts テーブル

2016.2.27@WordBench Yamanashi vol.2 22

Page 23: カスタムフィールドの光と闇。 または、愛について。

データがない???

2016.2.27@WordBench Yamanashi vol.2 23

Page 24: カスタムフィールドの光と闇。 または、愛について。

ここにあるよ?

2016.2.27@WordBench Yamanashi vol.2 24

Page 25: カスタムフィールドの光と闇。 または、愛について。

wp_postmeta テーブル

2016.2.27@WordBench Yamanashi vol.2 25

Page 26: カスタムフィールドの光と闇。 または、愛について。

ふぁっ!?

2016.2.27@WordBench Yamanashi vol.2 26

Page 27: カスタムフィールドの光と闇。 または、愛について。

これこそがカスタムフィールドの正体。

NoSQLでいいんじゃないか

2016.2.27@WordBench Yamanashi vol.2 27

Page 28: カスタムフィールドの光と闇。 または、愛について。

これがもたらす闇

2016.2.27@WordBench Yamanashi vol.2 28

Page 29: カスタムフィールドの光と闇。 または、愛について。

検索が致命的に遅い!• おまけにこの手の案件は検索機能が要求されたりする• meta_value に index が設定されていない。• 数字、文字列、シリアライズされた配列、オブジェクト、

json、base64エンコードした画像等、文字列に出来るものなら何でも突っ込めるので index をするのは正直難しい。

• プラグインなどの設定なども入ったり、WordPressの標準の2016.2.27@WordBench Yamanashi vol.2 29

Page 30: カスタムフィールドの光と闇。 または、愛について。

つらい!

2016.2.27@WordBench Yamanashi vol.2 30

Page 31: カスタムフィールドの光と闇。 または、愛について。

対策• なんでもカスタムフィールドに出来るけどよく考えよう。• とりあえず、エリアなど特定の値から選ぶものは、カテゴリー・タクソノミー を使おう。こっちにはちゃんと index が張られてる。

• 自分で Table 作るのだってあり。

2016.2.27@WordBench Yamanashi vol.2 31

Page 32: カスタムフィールドの光と闇。 または、愛について。

• そりゃWordPressはPHP書ければ何でも出来るけど、WordPress だからと安易に考えると地獄。何でも出来ることと、手軽に出来ること、目的に沿っていることは結構違う。

• 札束で殴ったり、キャッシュを組んだり、その部分だけWordPressじゃないものにするなど、柔軟に考えよう。

• 「とりあえずWordPress でとりあえずプラグイン入れて…」は地獄の始まり。ちゃんと仕様を整理して、設計しよう!!!

2016.2.27@WordBench Yamanashi vol.2 32

Page 33: カスタムフィールドの光と闇。 または、愛について。

世の中のカスタムフィールドってだいたいこういう実装!

汎用性の高いものには必ず犠牲にしたなにかがあるのよ。

2016.2.27@WordBench Yamanashi vol.2 33

Page 34: カスタムフィールドの光と闇。 または、愛について。

最後に

2016.2.27@WordBench Yamanashi vol.2 34

Page 35: カスタムフィールドの光と闇。 または、愛について。

「WordPressはなんでもできる!」

• PHPで書かれてるしPHPで出来ることなら何でも出来るよ!当たり前!

• cakePHPやLaravelとの悪魔合体とか出来るし、WordPressの機能の呼び出しを止めたりすればWordPressの皮だけ被った別の何かにだって確かに出来る。

2016.2.27@WordBench Yamanashi vol.2 35

Page 36: カスタムフィールドの光と闇。 または、愛について。

それWordPress 使わなくて良いよね?

2016.2.27@WordBench Yamanashi vol.2 36

Page 37: カスタムフィールドの光と闇。 または、愛について。

• 人間だれしも得意なこと、不得意なことある!• 良いとこも悪いところも人それぞれ!

ソフトウェアも同じ!

2016.2.27@WordBench Yamanashi vol.2 37

Page 38: カスタムフィールドの光と闇。 または、愛について。

良いところも悪いところも解った上で、それでも一緒に居たいと思うことが「愛」だと

思うんですよ。

見なかったことにするんじゃ無いんだぞ。

とろゆにさんは彼女募集中です。

2016.2.27@WordBench Yamanashi vol.2 38

Page 39: カスタムフィールドの光と闇。 または、愛について。

CMSは浮気しても良いから!CMSの浮気はエンジニアの甲斐性だから仕方ない。でも。。。WordPress のヒモになるとか、ただ都合の良いCMSとして、なんとなく呼び出すとかはもうやめてあげて!!!

2016.2.27@WordBench Yamanashi vol.2 39

Page 40: カスタムフィールドの光と闇。 または、愛について。

「本当の愛」で向き合ってあげて!

2016.2.27@WordBench Yamanashi vol.2 40

Page 41: カスタムフィールドの光と闇。 または、愛について。

おわり。

2016.2.27@WordBench Yamanashi vol.2 41