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
120
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.3k
リンクをお金で買ってみた ~ブラックハットSEO ダメ! ゼッタイ!~
masakawai
0
2.7k
黒い画面の苦手なデザイナーに捧げるDreamweaverだけで行うWordPressテーマ制作
masakawai
0
19k
Other Decks in Programming
See All in Programming
Claude Team Plan導入・ガイド
tk3fftk
0
220
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3k
act1-costs.pdf
sumedhbala
0
240
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
540
えっ!!コードを読まずに開発を!?
hananouchi
0
230
共通化で考えるべきは、実装より公開する型だった
codeegg
0
270
自作OSでスライド発表する
uyuki234
1
3.9k
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
8
5.3k
What's New in Android 2026
veronikapj
0
150
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
160
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
120
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
180
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
420
How to Talk to Developers About Accessibility
jct
2
430
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
How STYLIGHT went responsive
nonsquared
100
6.2k
Building AI with AI
inesmontani
PRO
1
1.1k
Leo the Paperboy
mayatellez
8
1.9k
We Are The Robots
honzajavorek
0
280
Code Review Best Practice
trishagee
74
20k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Navigating Weather and Climate Data
rabernat
0
400
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
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 ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ