カスタムフィールドの光と闇。 または、愛について。
-
Upload
hiroshi-urabe -
Category
Technology
-
view
256 -
download
0
Transcript of カスタムフィールドの光と闇。 または、愛について。
カスタムフィールドの光と闇。または、愛について。
2016.2.27@WordBench 山梨
2016.2.27@WordBench Yamanashi vol.2 1
whoamiじこしょうかい
2016.2.27@WordBench Yamanashi vol.2 2
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
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
WordBench 長野・松本藩を立ち上げたので遊びにきて
ね。
飯田藩よりWordBench山梨の方が近いって何事
一日歩けば余裕でつくよ?
2016.2.27@WordBench Yamanashi vol.2 5
はい。
2016.2.27@WordBench Yamanashi vol.2 6
カスタムフィールドって皆さんご存じ?
2016.2.27@WordBench Yamanashi vol.2 7
投稿とか、ページとかに、本文や、タイトル以外で徳治の情報をフリーダムに設定できる機能。
2016.2.27@WordBench Yamanashi vol.2 8
ここからいじれます。
2016.2.27@WordBench Yamanashi vol.2 9
2016.2.27@WordBench Yamanashi vol.2 10
なにこれ。
2016.2.27@WordBench Yamanashi vol.2 11
でもプラグインを使ったりすると。
2016.2.27@WordBench Yamanashi vol.2 12
こんなフィールドを作ったり
2016.2.27@WordBench Yamanashi vol.2 13
投稿画面を簡単にカスタマイズ出来る!
ちなみに長崎のキタジマさん作ってる、Smart Custom Fields 使ってます。 ワタクシもコント
リビューターです。
Smart Custom Fields — WordPress Plugins
2016.2.27@WordBench Yamanashi vol.2 14
ちゃんとWordPressの関数もあるよ!• get_post_meta();• update_post_meta();• etc....
2016.2.27@WordBench Yamanashi vol.2 15
すっごーい。(棒)
2016.2.27@WordBench Yamanashi vol.2 16
でも
2016.2.27@WordBench Yamanashi vol.2 17
ちゃんとしらないで使うと地獄をみるよ?
2016.2.27@WordBench Yamanashi vol.2 18
CMS等のカスタマイズを考えるときの僕らの頭の中
2016.2.27@WordBench Yamanashi vol.2 19
2016.2.27@WordBench Yamanashi vol.2 20
現実
2016.2.27@WordBench Yamanashi vol.2 21
wp_posts テーブル
2016.2.27@WordBench Yamanashi vol.2 22
データがない???
2016.2.27@WordBench Yamanashi vol.2 23
ここにあるよ?
2016.2.27@WordBench Yamanashi vol.2 24
wp_postmeta テーブル
2016.2.27@WordBench Yamanashi vol.2 25
ふぁっ!?
2016.2.27@WordBench Yamanashi vol.2 26
これこそがカスタムフィールドの正体。
NoSQLでいいんじゃないか
2016.2.27@WordBench Yamanashi vol.2 27
これがもたらす闇
2016.2.27@WordBench Yamanashi vol.2 28
検索が致命的に遅い!• おまけにこの手の案件は検索機能が要求されたりする• meta_value に index が設定されていない。• 数字、文字列、シリアライズされた配列、オブジェクト、
json、base64エンコードした画像等、文字列に出来るものなら何でも突っ込めるので index をするのは正直難しい。
• プラグインなどの設定なども入ったり、WordPressの標準の2016.2.27@WordBench Yamanashi vol.2 29
つらい!
2016.2.27@WordBench Yamanashi vol.2 30
対策• なんでもカスタムフィールドに出来るけどよく考えよう。• とりあえず、エリアなど特定の値から選ぶものは、カテゴリー・タクソノミー を使おう。こっちにはちゃんと index が張られてる。
• 自分で Table 作るのだってあり。
2016.2.27@WordBench Yamanashi vol.2 31
• そりゃWordPressはPHP書ければ何でも出来るけど、WordPress だからと安易に考えると地獄。何でも出来ることと、手軽に出来ること、目的に沿っていることは結構違う。
• 札束で殴ったり、キャッシュを組んだり、その部分だけWordPressじゃないものにするなど、柔軟に考えよう。
• 「とりあえずWordPress でとりあえずプラグイン入れて…」は地獄の始まり。ちゃんと仕様を整理して、設計しよう!!!
2016.2.27@WordBench Yamanashi vol.2 32
世の中のカスタムフィールドってだいたいこういう実装!
汎用性の高いものには必ず犠牲にしたなにかがあるのよ。
2016.2.27@WordBench Yamanashi vol.2 33
最後に
2016.2.27@WordBench Yamanashi vol.2 34
「WordPressはなんでもできる!」
• PHPで書かれてるしPHPで出来ることなら何でも出来るよ!当たり前!
• cakePHPやLaravelとの悪魔合体とか出来るし、WordPressの機能の呼び出しを止めたりすればWordPressの皮だけ被った別の何かにだって確かに出来る。
2016.2.27@WordBench Yamanashi vol.2 35
それWordPress 使わなくて良いよね?
2016.2.27@WordBench Yamanashi vol.2 36
• 人間だれしも得意なこと、不得意なことある!• 良いとこも悪いところも人それぞれ!
ソフトウェアも同じ!
2016.2.27@WordBench Yamanashi vol.2 37
良いところも悪いところも解った上で、それでも一緒に居たいと思うことが「愛」だと
思うんですよ。
見なかったことにするんじゃ無いんだぞ。
とろゆにさんは彼女募集中です。
2016.2.27@WordBench Yamanashi vol.2 38
CMSは浮気しても良いから!CMSの浮気はエンジニアの甲斐性だから仕方ない。でも。。。WordPress のヒモになるとか、ただ都合の良いCMSとして、なんとなく呼び出すとかはもうやめてあげて!!!
2016.2.27@WordBench Yamanashi vol.2 39
「本当の愛」で向き合ってあげて!
2016.2.27@WordBench Yamanashi vol.2 40
おわり。
2016.2.27@WordBench Yamanashi vol.2 41