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
コードが書ける人のためのブロックエディタのとっかかり
Search
Masahiko Kawai
May 20, 2026
Programming
110
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
2.2k
リンクをお金で買ってみた ~ブラックハットSEO ダメ! ゼッタイ!~
masakawai
0
2.7k
黒い画面の苦手なデザイナーに捧げるDreamweaverだけで行うWordPressテーマ制作
masakawai
0
19k
Other Decks in Programming
See All in Programming
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.6k
スマートグラスで並列バイブコーディング
hyshu
0
270
Creating Composable Callables in Contemporary C++
rollbear
0
180
Vite+ Unified Toolchain for the Web
naokihaba
0
410
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
130
はてなアカウント基盤 State of the Union
cockscomb
1
1.2k
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
140
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
320
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
800
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
450
技術的負債解消で開発者の未来を開く- AIの力でコード刷新
kmd2kmd
0
130
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
160
Featured
See All Featured
Google's AI Overviews - The New Search
badams
0
1.1k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Scaling GitHub
holman
464
140k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
Leo the Paperboy
mayatellez
7
1.9k
It's Worth the Effort
3n
188
29k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
860
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Building Adaptive Systems
keathley
44
3.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
We Have a Design System, Now What?
morganepeng
55
8.2k
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 ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ