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)
ブロックテーマでサイトリニューアルした話 / Toro_Unit / 2025.04.12 @ Shinshu WordPress Meetup
torounit
1
200
Cloudflare Meetup Nagano Vol.3
torounit
1
85
僕が考える 「HTML サイトを WordPress にする」話 / 2023-11-05 Kansai WordPress Meetup
torounit
9
7.6k
Cloudflare Pages に入門してみた / 2023-10-14 Cloudflare Meetup Nagano Vol.2
torounit
2
1.8k
ブロックエディタをゴリゴリに使い倒してサイトを作った話 / Kansai WordPress Meetup 2023 09 23
torounit
14
10k
ブロックエディターカスタマイズことはじめ #wpshinshu / 2023-06-17 Shinshu WordPress Meetup vol.24
torounit
1
410
FSE時代におけるWEBサイト制作の研究 #wpshinshu / 2023-05-20 Shinshu WordPress Meetup vol.23
torounit
0
450
ブロックエディターを用いたWEBサイト開発とカスタムフィールドのあり方を考える。/ WordCamp Japan 2021
torounit
0
570
ブロックエディターで変わる、WordPress でのウェブサイト開発 / SaCSS Special 26
torounit
4
880
Other Decks in Technology
See All in Technology
AI専用のリンターを作る #yumemi_patch
bengo4com
5
2.3k
KubeCon + CloudNativeCon Japan 2025 Recap by CA
ponkio_o
PRO
0
260
プロダクトエンジニアリング組織への歩み、その現在地 / Our journey to becoming a product engineering organization
hiro_torii
0
140
CursorによるPMO業務の代替 / Automating PMO Tasks with Cursor
motoyoshi_kakaku
2
820
Geminiとv0による高速プロトタイピング
shinya337
0
200
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
160
How Community Opened Global Doors
hiroramos4
PRO
1
130
KiCadでPad on Viaの基板作ってみた
iotengineer22
0
180
LangChain Interrupt & LangChain Ambassadors meetingレポート
os1ma
2
230
GeminiとNotebookLMによる金融実務の業務革新
abenben
0
250
AI導入の理想と現実~コストと浸透〜
oprstchn
0
160
Lambda Web Adapterについて自分なりに理解してみた
smt7174
5
140
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
35
6.7k
It's Worth the Effort
3n
185
28k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
The Language of Interfaces
destraynor
158
25k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Facilitating Awesome Meetings
lara
54
6.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Producing Creativity
orderedlist
PRO
346
40k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
Music & Morning Musume
bryan
46
6.6k
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