Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
WordPress のプラグイン作ったりコアコントリビュータになった話。そして、その楽しさと意義。
Search
Toro_Unit (Hiroshi Urabe)
July 10, 2016
Technology
1
2k
WordPress のプラグイン作ったりコアコントリビュータになった話。そして、その楽しさと意義。
WordCamp Kansai 2016 2日目で、発表したスライドです。
Toro_Unit (Hiroshi Urabe)
July 10, 2016
Tweet
Share
More Decks by Toro_Unit (Hiroshi Urabe)
See All by Toro_Unit (Hiroshi Urabe)
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
160
ブロックテーマでサイトリニューアルした話 / Toro_Unit / 2025.04.12 @ Shinshu WordPress Meetup
torounit
1
230
Cloudflare Meetup Nagano Vol.3
torounit
1
110
僕が考える 「HTML サイトを WordPress にする」話 / 2023-11-05 Kansai WordPress Meetup
torounit
9
7.7k
Cloudflare Pages に入門してみた / 2023-10-14 Cloudflare Meetup Nagano Vol.2
torounit
2
1.9k
ブロックエディタをゴリゴリに使い倒してサイトを作った話 / Kansai WordPress Meetup 2023 09 23
torounit
15
10k
ブロックエディターカスタマイズことはじめ #wpshinshu / 2023-06-17 Shinshu WordPress Meetup vol.24
torounit
1
420
FSE時代におけるWEBサイト制作の研究 #wpshinshu / 2023-05-20 Shinshu WordPress Meetup vol.23
torounit
0
470
ブロックエディターを用いたWEBサイト開発とカスタムフィールドのあり方を考える。/ WordCamp Japan 2021
torounit
0
580
Other Decks in Technology
See All in Technology
「Verify with Wallet API」を アプリに導入するために
hinakko
1
230
AI ReadyなData PlatformとしてのAutonomous Databaseアップデート
oracle4engineer
PRO
0
160
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
5.4k
What is BigQuery?
aizack_harks
0
130
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
3
330
Access-what? why and how, A11Y for All - Nordic.js 2025
gdomiciano
1
110
PLaMo2シリーズのvLLM実装 / PFN LLM セミナー
pfn
PRO
2
960
「技術負債にならない・間違えない」 権限管理の設計と実装
naro143
36
11k
20250929_QaaS_vol20
mura_shin
0
110
神回のメカニズムと再現方法/Mechanisms and Playbook for Kamikai scrumat2025
moriyuya
4
480
PythonとLLMで挑む、 4コマ漫画の構造化データ化
esuji5
1
130
それでも私はContextに値を詰めたい | Go Conference 2025 / go conference 2025 fill context
budougumi0617
4
1.2k
Featured
See All Featured
BBQ
matthewcrist
89
9.8k
Designing for Performance
lara
610
69k
Building Adaptive Systems
keathley
43
2.8k
A Tale of Four Properties
chriscoyier
160
23k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Visualization
eitanlees
148
16k
Facilitating Awesome Meetings
lara
56
6.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Transcript
WordPress ͷϓϥάΠϯ࡞ͬͨΓί ΞίϯτϦϏϡʔλʹͳͬͨɻͦ͠ ͯɺͦͷָ͠͞ͱҙٛɻ Toro_Unit / 2016.07.10 @ WordCamp Kansai
2016 1
whoami ͜͡͠ΐ͏͔͍ 2
Profile Toro_Unit / ෦ ߛ (͏Β ͻΖ͠) Frontend Engineer /
Plugin Developer / Web Designer Github: @torounit Twitter: @Toro_Unit Facebook: fb.me/torounit Blog: https://torounit.com 3
Profile • ౡݝ܊ࢁࢢੜ·Εɻ܈അݝଠాࢢ ҭͪɻݝদຊࢢ1̕ɻ • ʹ͡Ύ͏ͳͳ͍͞ɻ • ;ΓʔΒΜ͢ʹͳΓ·ͨ͠ɻ 1 Wikimedia
Commons/File:File: 130608MatsumotoCastleMatsumotoNaganoprefJapan02bs4.jpg Author: 663highland.License:CC2.5 4
WordPressͱͷؔΘΓ 5
Plugins • Custom Post Type Permalinks ( Active Install 60,000+!!!
) • Simple Post Type Permalinks • Powerful Posts Per Page • Hello Kushimoto • etc... 6
Other Project • WordPress 4.3 ~ 4.5 Core Contributor •
WP-CLI (v0.20.2) / VCCW Community • WordBench (࠷ۙ দຊൡɾ൧ాൡͱ͔Ͱ͖·ͨ͠) • WordCamp / WordBash / WordWine ... 7
ΞδΣϯμ 8
1. ϓϥάΠϯΛ࡞ͬͯެ։ͯ͠Έͨɻ 2. ύονΛૹͬͯΈͨɻ 1. ϓϥάΠϯʹύονΛૹͬͯΈͨɻ 2. ຊମʹύονΛૹͬͯΈͨɻ 3. ͍͞͝ʹ
9
1. ϓϥάΠϯΛ࡞ͬͯެ։ͯ͠Έͨ 10
1.ϓϥάΠϯ։ൃΛ࢝ΊͨܦҢ 11
2011 5years ago 12
• ࣾͰWordPressΛ৮Γͩͯ͠1͙Β͍ɻ • ࣾʹΤϯδχΞډΒͣɺํͳͷͰษڧձͳͲ͋·Γ ແ͍ɻͱΓ͋͑ͣɺެࣜσΟϨΫτϦͷςʔϚϓϥάΠϯ Λݟ࢛ͯۤീۤɻ • ΦϨΦϨϓϥάΠϯΛ͍͔ͭ͘࡞ͬͯͨΓɻ 13
14
WordPress ͷΠϕϯτʂ ࢀՃͯ͠ΈΑ͏ʂ 15
WordCamp Tokyo 2011Ͱ͠Όͬͯདྷ·ͨ͠ɻ | Firegoby 16
ʮΞοϓσʔτ͕؆୯ʹͳΔΑʂʯ • ʮཧը໘͔ΒΞοϓσʔτͰ͖ΔΑ͏ʹͳΔΑʂʯ ʮৄ͍͠ਓ͔ΒϑΟʔυόοΫΒ͑ΔΑʂʯ • ʮPHPશੈքڞ௨ʂඇӳޠݍͷਓଟ͍͔Βେৎʂʯ 17
ͷײ ʮͳΜ͔ࢥͬͯͨΑΓؾܰͦ͏ͩ͠ɺϑΟʔυόοΫͱ͔Β ͑ͨΒָͩͳʔɻ΄Μͱ͔ͳ͊ŋŋŋ??? (৴ٙ)ʯ ·͊ὃ͞ΕͨͱࢥͬͯͬͯΈΑ͏ʂ 18
2011/12/05. ͱ͍͏Θ͚Ͱɺެ։ͯ͠Έͨɻ Total Downloads: 260,358 (2016/7/10ݱࡏ) 19
2011/12/08. ૣϚαΧϦ͕ඈΜͰདྷͨɻ ҙ༁Ͱ͢ɻޠฐͳͲΛؚΜͰ͓Γ·͢ɻ • σόοάϞʔυͰͷݕূ͠ΖʂNotice ͰͯΔΜ͚ʂ • Τεέʔϓ͠ΖʂηΩϡϦςΟΨόΨόʂ • etc...
20
ͼͼΔʂ 21
Ͱɺ͋Γ͕͍ͨʂ͏Ε͍͠ʂ 22
པΜͰ͍ͳ͍ͷʹݕূͬͯ͘ΕΔʂ ίʔυಡΜͰࢦఠͯ͘͠ΕΔʂ ϓϧϦΫΤετͱ͔ύονͱ͔͘ΕΔʂউखʹͯ͘͠ΕΔʂ 23
ଞͷਓ͔Βͨ͘͞ΜͷϑΟʔυόο ΫΛΒ͍·ͨ͠ɻ 24
࠷ۙདྷͨ issue ҙ༁: wp_get_post_terms ͏ͱσʔλ͕Ωϟογϡ͞Εͳ͍͔Βget_the_terms ͷํ͕ྑ͍Αʂ 25
ʮੈքͱަྲྀʯ͔֬ʹग़དྷͨ! • ݴ༿ͰΓͱΓͰ͖ͳͯ͘ɺίʔυΛհͨ͠ΓͱΓ͕ ग़དྷΔͷ໘ന͍ʂԕํͷਓͱ͔ɺւ֎ͷਓͱ͔ɻίʔυ͔ Β࢝·ͬͯྑ͘ͳͬͨਓɻ 26
ϑΟʔυόοΫຊʹษڧʹͳΔɻ • ਖ਼ɺWordPress ͷͯ͢ʹৄ͍͠Θ͚͡Όͳ͍ɻ͚ͩͲɺ ୭͔͕ڭ͑ͯ͘ΕΔɻΒͳ͔ͬͨػೳɾڍಈͱ͔ɻ • ϓϥάΠϯͷςετࣗಈԽͱ͔ڭ͑ͯΒͬͨΓɻ • ϑΟʔυόοΫΛ͍͘͢ɺ֦ுɾमਖ਼͢ΔͨΊʹྑ͍ί ʔυΛॻ͜͏ͱ͍͏ҙ͕͍ࣝͨɻਓͷςετΛಡΜͩΓɻ
• ؾ͕͚͔ͭͳΓͷεΩϧΞοϓɻ 27
ίʔυΛެ։͢Δ͜ͱɺϝϦοτ͋Γ·͢Α!! 28
Add Your Plugin! 29
2. ύονΛૹͬͯΈͨɻ 30
2-1. ϓϥάΠϯʹύονΛૹͬͯΈͨ 31
ʮެࣜσΟϨΫτϦʹ্͛ΔͱΞοϓσʔτ؆୯!ʯ ͱઌ΄Ͳݴ͍·͚ͨ͠Ͳɻ 32
ͦΕɺࣗͷϓϥάΠϯ͚ͩͰྑ͍ͷʁ ( ύʔϚϦϯΫͷϓϥάΠϯ͚ͩ͡ΌαΠτ࡞Εͳ͍ɻ ) 33
ଞͷਓ͕࡞ͬͨϓϥάΠϯʹόά͕͋ͬͨΒ? Γͳ͍ػೳ͕͋ͬͨΒ? 34
मਖ਼ΛૹΓ͚ͭΕ͍͍ΑͶ!!! ͦΕ͕ө͞ΕͨΒָͩΑͶ!!! 35
ͱ͍͏Θ͚ͰύονΛૹͬͯΈͨࣄྫɻ 36
WordPress Ͱ ଟݴޠαΠτΛ࣮ݱ͢ΔϓϥάΠϯ Bogo ʹͭ ͍ͯͷ૬ஊ͕ϑΥʔϥϜʹߘ͞Ε͍ͯͨɻ Bogo ͷ࡞ऀ Contact Form
7 Ͱ͓ͳ͡Έͷࡾ͞Μɻ ΧελϜߘλΠϓͰɺݴޠΛ·͍ͨͰಉ͡εϥοάͷߘΛ ࡞Εͳ͍ͱ͍͏૬ஊɻ ϑΥʔϥϜ » BogoɿݴޠؒͰಉ͡ύʔϚϦϯΫΛ͏ʹʁ — WordPress 37
։ൃதͷҊ݅Ͱ Bogo Λ͍ͬͯͨͷͰɺݕূͯ͠Έͨɻ ͦͷ݁Ռɺhierarchical => true ͳΧελϜߘλΠϓʹ͓ ͍ͯɺͦͷ͕ൃੜ͢Δ͜ͱ͕ൃ֮ɻ 38
• ༷͕૿͑ͨ߹ʹɺಉ͡ʹͿ͔ͭΔ͔ɻɻɻɻ (ӅΕ༷ͨͳΜͯྑ͋͘Δ) • όάݟ͚ͭͪΌ͔ͬͨΒؾʹͳΔɻ 39
ͱ͍͏Θ͚ͰɺͦͷΛमਖ਼ɻίʔυΛϑΥʔϥϜʹషͬͯ Έͨɻ 40
ʮToro_Unit ͞Μɺ͢Β͍͠ಎɺ͋Γ͕ͱ͏͍͟͝·͢ɻ͍ ͍ͨͩͨύονΛ࣍ͷϦϦʔεͰಋೖ͠·͢ɻௐࠪʹ࣌ؒΛׂ ͍͍͖ͯͨͩ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻʯ 41
ΉͪΌͪ͘Ό͏Ε͍͠ʂ 42
Ͱɺଞʹྑ͍͜ͱɻ 43
͜ͷ͕मਖ਼͞Εͨ͜ͱͰɺͤʹͳͬͨਓɻ • Ϛʔδ͞Εͯخ͔ͬͨࣗ͠ɻ • ࡞ऀͷࡾ͞Μɻʢཁ֬ೝʣ • ͜ͷʹࠔ͍ͬͯͨϑΥʔϥϜߘऀͷํɻ ͦͯ͠ɻ 44
Bogo ΛͬͯΔਓɺ͜Ε͔Β͏ਓ! • ϑΟʔυόοΫͷ͓͔͛Ͱউखʹόά͕ͬͯΔʂ • ͦͦ͜ͷͷଘࡏ͢ΒΒͣʹࡁΉɻ 45
ͦͦɺΦʔϓϯιʔε͔ͩΒɺͰ͖ͨ͜ͱɻ ͜Εͬͯ͘͢͝ͳ͍ʁ 46
Open Source Power! 47
2-2. ίΞʹύονΛૹͬͯΈͨɻ 48
• ͋Δɺget_post_type_labels Λݺͼग़͢ͱɺ get_post_type_object ͷΓ͕࿈ྻʹมΘͬͯ͠· ͏ͱ͍͏όάʹͿͪͨΔɻ(ຊObject) • ΦϨΦϨؔΛ࡞͍ͬͯ྇Ͱྑ͍͚Ͳ͔ͬͨΔ͍ͳŋŋŋɻ 49
ίΞͷόά͕ΕɺָͩΑͶʁ 50
• ίΞͷτϥοΫΛௐͨͱ͜Ζɺ2ϲ݄લʹใࠂ͞Ε͍ͯ ͕ͨະରԠͩͬͨɻϚχΞοΫ͍͔ͩͬͨͤɺίϝϯτͳͲ ಛʹ͍͓ͭͯΒͣɻ #33023 (_get_custom_object_labels should not change data
type to Array from Object.) – WordPress Trac ݪҼΘ͔ͬͯΔ͠ɺ͜ΕύονૹΕྑ͍Μ͡Όແ͍͔ʁ 51
ͱ͍͏Θ͚ͰɺύονΛૹͬͨɻ 52
ӳޠͰઆ໌͢Δͷ͕େมͩͬͨͷͰɺςετίʔυ͍ͭͰʹॻ͍ͨɻ 53
Ϛʔδ͞Εͨʂ 54
ΊͬͪΌخ͍͠!! WordPress ʹ໊લ͕ࡌͬͯࣗຫͰ͖Δ! 55
Ͱ΄͔ʹ(ҎԼུ 56
Open Source Power! 57
3.͍͞͝ʹ 58
ϓϥάΠϯΛ࡞͍ͬͯΔཧ༝ɻ ࣗͷϓϥάΠϯຊʹͨ͘͞ΜͷαΠτͰಈ͍͍ͯ·͢ ͕ŋŋŋŋ • ࣗͷཉ͔ͬͨ͠ػೳ͕ແ͔͔ͬͨΒ࡞͚ͬͨͩʂ • Ξοϓσʔτָ͕ͩͱݴΘΕͨ͠ɺϑΟʔυόοΫ͕͋Δͱ ͕ࣗ͏ͱ͖ʹָͩͳͱࢥ͚ͬͨͩʂ 59
ύονΛૹͬͨཧ༝ɻ • ୯ʹ͕ࣗࠔͬͨΓ͔ͨ͠ΒɺύονΛૹ͚ͬͨͩɻ • ύονຊମʹϚʔδ͞Εͨํָ͕ͩͬͨ͠ɺใࠂ͢Ε࡞ ऀͷํଞͷਓʹݟͯɺόάΛݟ͚ͭͯΒ͑Δ͔ ɾɾɾΈ͍ͨͳͦΜͳग़དྷ৺ɻ 60
ͦΜͳ͍ܰؾ͕࣋ͪɺ݁Ռతʹ͍ΖΜ ͳਓͷॿ͚ʹͳ͍ͬͯΔ!!! 61
ͦͯ͠ɺΒͳ͍ؒʹࣗͦͷԸܙ Λଘʹड͚͍ͯΔ!!! 62
• ΦϨΦϨϑΥʔΫ • ΦϨΦϨύον • ΦϨΦϨϓϥάΠϯ ͋ͳͨͷϨϙδτϦʹ͍ͬͯ·ͤΜ͔ʁ 63
Let's Contribute! 64
ίΞͷڍಈʹʮ͋Εͬʯŋŋŋͬͯ ࢥͬͨ͜ͱ͋Γ·ͤΜ͔ʁ 65
Let's Contribute! 66
Good First Bugs ॳΊͯͷਓʹΦεεϝͷ؆୯ͳόάɻ ίΞͷύονΛૹͬͨΓ͢Δ࿅शʹͲ͏Ͱ͔͢ʁ 67
Let's Contribute! 68
Let's Open Source! 69
Thanks! Github: @torounit Twitter: @Toro_Unit Facebook: fb.me/torounit Blog: https://torounit.com 70