Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
コードが書ける人のためのブロックエディタのとっかかり
Search
Masahiko Kawai
May 20, 2026
Programming
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
コードが書ける人のためのブロックエディタのとっかかり
Tokyo WordPress Meetup 2026年5月
Masahiko Kawai
May 20, 2026
More Decks by Masahiko Kawai
See All by Masahiko Kawai
WordPressの脆弱性対策何をすべき?
masakawai
0
430
触れるけど壊れないWordPressの作り方
masakawai
0
2.7k
WordPressを"仕事"にするということ
masakawai
0
10
リンクをお金で買ってみた ~ブラックハットSEO ダメ! ゼッタイ!~
masakawai
0
2.7k
黒い画面の苦手なデザイナーに捧げるDreamweaverだけで行うWordPressテーマ制作
masakawai
0
19k
Other Decks in Programming
See All in Programming
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
370
Kubernetes祭り #2 OP/ED
bells17
0
110
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
360
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
210
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
480
すこし踏み込む CancellationToken
htkym
2
1.7k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
730
The Rails Doctrine Decade
koic
2
570
Jetpack Compose Mechanisms
skydoves
2
730
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
200
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
Featured
See All Featured
Amusing Abliteration
ianozsvald
1
340
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
280
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
Building an army of robots
kneath
307
47k
Designing for humans not robots
tammielis
254
26k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Typedesign – Prime Four
hannesfritz
42
3.2k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
A Soul's Torment
seathinner
8
3.7k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Transcript
コードが書ける人のための ブロックエディタのとっかかり Tokyo WordPress Meetup 2026 5݄20 Ҫণ
1 自己紹介 ɹҪণʢ͔Θ͍·͞ͻ͜ʣʢ@sakuragi_keiʣ ౦ژதࢢࡏॅ WebσΟ ϨΫλʔ ' ͳͲ ' খࡩΠϯίͱγϩϋϥΠϯίͱࠇࣲݘͷύύ
PerfumeͱΞϯφϛϥʔζ͕͖
2 ౦ژதࢢʹͯ Web੍࡞ɾDTP੍࡞ʢ14ظʣ https://www.cherrypieweb.com/ ϒϩά1997։ઃ ࠓͰ28 ʂ ͪͳΈʹ WordPressͷॳ൛ϦϦʔε2003
3 ࠷ॳʹ͓அΓ͓͖ͯ͠·͢
4 ࠓ ϒϩοΫΤσΟλΛ͍͜ͳ͍ͯ͠Δํͷ ͓ʹཱͭΑ͏ͳTips͋Γ·ͤΜ
5 ϒϩοΫΤσΟλ͕͑Δํʹͪ͜ΒΛ͓εεϝ ৮ΕΔ͚ͲյΕͳ͍WordPressͷ࡞Γํ – WordCamp Kansai 2025 https://kansai.wordcamp.org/2025/session/how-to-build-a-wordpress-site-that-can-be- touched-but-wont-break/
6 ɾɾɾͰɺ͋ΒͨΊͯɺ
7 ͳͥ page-xxx.php ͰݻఆϖʔδΛ࡞Δͷ͔ʁ
8 ߘը໘Ͱ·ͱͳϨΠΞτͳΜͯग़དྷΔΘ͚͕ແ͍͔Β ʢݸਓͷײͰ͢ʣ
9 WordPressͷ੍࡞ख๏͕ఆண࢝͠Ίͨ͜Ζͷ ߘը໘ͷΤσΟλ ʮΫϥγοΫΤσΟλʯ
10
11 こんなのでできるわけない こんなのでできるわけない ʢݸਓͷײͰ͢ʣ
12 WYSIWYGΤσΟλWeb͕ࣝແͯ͑͘Δ ˣ Web͕ࣝແ͍ਓ͕͏ͷ ʢݸਓͷײͰ͢ʣ
13 WYSIWYGエディ タ = 素人 WYSIWYGエディ タ = 素人 page-xxx.php
= プロ page-xxx.php = プロ ʢݸਓͷײͰ͢ʣ
14 ͡Ό͋ɺϒϩοΫΤσΟλͲ͏ͳͷ͔ʁ
15
16 ϒϩοΫΤσΟλ ΫϥγοΫΤσΟλͷUI͕มΘ͚ͬͨͩͷͷ Ͱͳ͍ ˣ ίʔυ͕ॻ͚ͳ͍ਓͷͨΊͷͷͰͳ͍
17 ϒϩοΫϒϥοΫϘοΫεͰͳ͍ ˣ ϒϩοΫΤσΟλHTMLδΣωϨʔλʔ
18 ࣮ɺίʔυ͕Θ͔ΔͱϒϩοΫΤσΟλָ͍͠
20 ຊͷαϯϓϧϖʔδ page-xxx.php Ͱ࡞ͯ͠Έ·ͨ͠ɹ ΫϥγοΫΤσΟλͩͱ ඍົʹ࡞ΓͮΒ͍ͷͰɺ ֎෦ΤσΟλͰ࡞Γ͕ͪ
19 ブロックエディ タで ブロックを使わずにページを作る
21 ΧελϜHTMLϒϩοΫʹϕλுΓͯ͠ΈΔ
22 ηΫγϣϯ͝ͱʹখ͚ʹͯ͠ΈΔ
23 ϦετϏϡʔ͕ศར ɾ ϖʔδͷߏ͕Θ͔Γ͍͢ Ҡಈ؆୯ ෳ؆୯ ɾ λάͷೖΕࢠͷબϛε͕ແ͘ͳΔ
24 ίʔυΛೖΕࢠʹ͢ΔʢάϧʔϓԽʣ ɾ άϧʔϓԽ ˺ divλάͰғΉ ɾ divҎ֎ͰғΊΔ ʢޙͰཪٕΛ͓ڭ͑͠·͢ʣ
25 HTMLをブロックにしてみる
26 ΧελϜHTMLϒϩοΫΛλάϨϕϧ·Ͱখ͚ʹ͢Δ
27 ݟग़͠ϒϩοΫɺஈམϒϩοΫ ɾ ϒϩοΫ͕ॻ͖ग़͢ίʔυγϯϓϧ
28 ϒϩοΫઃఆͷίʔυΛݟͯΈΔ ɾ ϓϦηο τclass ࢦఆstyleଐੑʹͳΔ
29 ίʔυΤσΟλΛݟͯΈΔ ɾ ϒϩοΫίϝϯ τͰද͞Ε͍ͯΔ ɾ ϒϩοΫͷઃఆ͕ ίϝϯ τʹهࡌ͞Ε ίʔυʹө͞ΕΔ
30 ͔ͯ͠͠ɺϒϩοΫΤσΟλͬͯίʔυͰฤूͰ͖ΔͷͰʁ
31 Ζ͏ͱࢥ͑ ɾ ίʔυͰϒϩοΫΛෳͰ͖Δ ɾ ίʔυͰઃఆΛมߋͰ͖Δ ίʔυͷमਖ਼ϛεΛ͍͢͠ͷͰ ͋·Γ͓εεϝ͠·ͤΜ
32 コードに注目したいブロック ΧϥϜϒϩοΫɾԣฒͼϒϩοΫ ɾ flexboxʢϝσΟΞΫΤϦͰ flex-wrap: wrap / nowrap Γସ͑ʣ
33 ը૾ϒϩοΫ ɾ WordPress͕ࣗಈతʹϨεϙϯγϒରԠ͍ͯ͠Δ ɾ ը૾͕Ξοϓϩʔυ͞Εͨͱ͖ʹෳͷαΠζʹࣗಈͰϦαΠζ ʢαΠζϝσΟΞઃఆʹΑΔʣ ɾ imgλάʹࣗಈͰsrcsetଐੑΛઃఆ
34 ブロックパターン ɾ ίʔυΛ͍·ΘͤΔ ɾ ಉظύλʔϯʗඇಉظύλʔϯ
35 ඇಉظύλʔϯ ɾ ίʔυεχϖο τΈ͍ͨͳͷʢ୯७ͳෳʣ ɾ ΦϦδφϧΛमਖ਼ͯ͠ɺஔͨ͠ύλʔϯʹӨڹ͕ͳ͍ ɹɹ ΦϦδφϧ
36 ಉظύλʔϯ ɾ ςϯϓϨʔ τύʔπΈ͍ͨͳͷʢίʔυΛݺͼग़͢ʣ ɾ ΦϦδφϧΛमਖ਼͢Δͱશͯʹө͞ΕΔ ɹɹ ΦϦδφϧ
37 ಉظύλʔϯͷ্ॻ͖ ɾ Ҿ͖ͷςϯϓϨʔ τύʔπΈ͍ͨͳͷʢҾʹΑͬͯग़ྗ͕มΘΔʣ ɾ ΦϦδφϧΛमਖ਼͢Δͱɺ্ॻ͖͍ͯ͠ͳ͍ͱ͜Ζ͚͕ͩө͞ΕΔ ɹɹ ΦϦδφϧ
38 コードが書けるとブロックテーマは面白い
39 ςʔϚͷઃఆΛ֎෦CSSͰ͍·Θ͢ ɾ theme.json αΠ τΤσΟλʔͷઃఆ͕ CSSมʹͳΔ ৭ɾλΠϙάϥϑΟɾεϖʔγϯάɾɾɾ ɹˣ ֎෦CSSͰར༻Ͱ͖Δ
ɾ theme.json "settings": { "color": { "palette": [ { "name": "Primary", "slug": "primary", "color": "#0073aa" } ] } } ɹɹɹˣ ɾglobal-style-inline :root { --wp--preset--color--primary: #0073aa; } ɾmy-style.css .my-style { color: var(--wp--preset--color--primary); }
40 ίʔυ͕ॻ͚ΔͱϒϩοΫςʔϚຊʹ໘ന͍ͷͰɺ ͲΜͲΜ৮ͬͯΈΑ͏
41 ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ