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
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordP...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Toro_Unit (Hiroshi Urabe)
January 31, 2026
Technology
590
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
Toro_Unit (Hiroshi Urabe)
January 31, 2026
More Decks by Toro_Unit (Hiroshi Urabe)
See All by Toro_Unit (Hiroshi Urabe)
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
700
ブロックテーマとこれからの WordPress サイト制作 / nishinomiya.dev@2025-12-21
torounit
1
280
ブロックテーマとこれからの WordPress サイト制作 / Toyama WordPress Meetup Vol.81
torounit
0
810
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
790
ブロックテーマでサイトリニューアルした話 / Toro_Unit / 2025.04.12 @ Shinshu WordPress Meetup
torounit
1
340
Cloudflare Meetup Nagano Vol.3
torounit
1
170
僕が考える 「HTML サイトを WordPress にする」話 / 2023-11-05 Kansai WordPress Meetup
torounit
9
8.8k
Cloudflare Pages に入門してみた / 2023-10-14 Cloudflare Meetup Nagano Vol.2
torounit
2
2.3k
ブロックエディタをゴリゴリに使い倒してサイトを作った話 / Kansai WordPress Meetup 2023 09 23
torounit
15
11k
Other Decks in Technology
See All in Technology
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
140
2026TECHFRESH畢業分享會 - AI 時代的人生存檔點
line_developers_tw
PRO
0
1.3k
新しいUbuntu/GNOMEが使いたいからXからWaylandへ移行頑張ってるの巻 2026-06-20
nobutomurata
0
150
Claude Codeをどのように キャッチアップしているか
oikon48
13
8.6k
MUSUBI 田中裕一『AIと共に行う「しごとのリデザイン」- スモールバックオフィス編』AI Ops Lab #4
musubi
0
270
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
410
2026TECHFRESH畢業分享會 - 原生還是跨平台? App 開發踩坑實錄
line_developers_tw
PRO
0
1.3k
Agile and AI Redmine Japan 2026
hiranabe
3
290
AI-DLCを “そのまま導入しなかった”話 ~組織に合わせてアジャストした 私たちの実践共有~
hiroramos4
PRO
0
210
When Platform Engineering Meets GenAI
sucitw
0
130
Kiroで書いた 設計書 が AI レビューの 採点基準 になる
ezaki
0
130
生成 AI 実践ガイド (概略版) AIガバナンス編
asei
0
120
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
430
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
420
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
480
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
560
How GitHub (no longer) Works
holman
316
150k
The SEO identity crisis: Don't let AI make you average
varn
0
490
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
350
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
490
Transcript
ブロックテーマでサイトをリニューアルした話 Toro_Unit / 2026.01.31 @ Kansai WordPress Meetup 1
$ whoami Toro_Unit / 占部 紘 Freelance Frontend & WordPress
Engineer WordPress Contributor Github: @torounit / X: @Toro_Unit 2
長野県松本市から来ました 2026年2月15日まで松本城の プロジェクションマッピングやっ てます。 ワーケーションとかどうぞ。 さむいですけどいいところです。 Shinshu WordPress Meetup やってるよ。
3
Introduction: ブロックテーマとは? 4
5
WordPress 5.9 で導入されたテーマ。( Beta が取れたのは 6.2 ) フルサイト編集 (Full Site
Editing, FSE) に対応。 従来のテーマと異なり、PHP テンプレートファイルを持たず、HTML テン プレートと theme.json で構成される。 ブロックエディターを使用して、サイト全体のレイアウトやデザインをカ スタマイズ可能。 ここ数年のデフォルトテーマ (Twenty Twenty-Two 以降) は全てブロックテ ーマ。 6
メリット カスタマイザー / ウィジェット / メニュー等が不要に。全てブロックで解 決するように。 PHP の知識が無くても、テンプレートなどをの開発が可能に。-> セキュ
リティリスクの低減。 7
8
「テーマの役割」の変化 従来のテーマ(クラシックテーマ) 完成したデザイン ブロックテーマ デザインの土台、コンポーネントの提供 9
ブロックテーマを開発するには 10
なんとなくわかった気になる ブロックテーマ入門 / contents.nagoya 2025 6.28 https://speakerdeck.com/chiilog/na ntonakuwakatutaqi- ninaruburotukutemaru-men 11
カスタムフィールドもブロックで扱えるようになりました (WordPress 6.5) register_post_meta( 'post', 'my_custom_field', array( 'show_in_rest' => true,
'single' => true, 'type' => 'string', ) ); <!-- wp:paragraph { "metadata":{ "bindings":{ "content":{ "source":"core/post-meta", "args":{"key":"my_custom_field"} } } } } --><p>Fallback content</p><!-- /wp:paragraph --> 12
プラグイン側からブロックパターンを登録することも可能 register_block_pattern( 'my-plugin/my_custom_field', array( 'title' => 'My Custom Field', 'description'
=> 'My Custom Field', 'content' => '<!-- wp:paragraph { "metadata":{"bindings":{"content":{"source":"core/post-meta","args":{"key":"my_custom_field"}}}}} --> <p>Fallback content</p> <!-- /wp:paragraph -->', ) ); 13
Block Theme is Production Ready !!! 14
ブロックテーマでの開発事例 15
https://risshi-juku.jp/ 設計・デザイン・開発から全て丸っと担当。 16
17
開発の経緯 2024年12月頃、こんな相談。 LINE公式アカウントをやりたい、それに伴って同線を作りたい。 コンテンツの見直しなどもしたいので、操作方法などを教えてほしい。 現状だと情報の不足があってページ追加なども必要。 可能であれば自分たちでいじりたい。 18
以前はお知らせがたまに更新される程度だったので、静的サイトにすることも 検討したが、先方がコンテンツ作成を自分たちでやりたいという要望が 大きかったので、WordPress でリニューアルすることに。 19
デザイン、コンテンツ設計 20
21
22
実装方針 基本的に、theme.json で出来ることは可能な限り theme.json で。 css を直接書けば何でも出来るけど、theme.json の挙動など考慮すること が増えるので、可能な限り theme.json
や、WordPress 側の機能で実装した い。 ナビゲーションなどは、css 変数が用いられているのでそれを上書きした りすれば多少はコントロール可能。 せっかくデザインから自分でやるので、CSS のビルドしない!(決意 23
テーマ開発の流れ 1. 色彩設計、タイポグラフィ設計、余白のルール設計 2. ボタン等の汎用のコンポーネントのデザイン定義 3. TOPページ、下層ページの汎用のパーツのデザイン設計 4. ワイヤーフレーム等を作成しながら各ページのコンテンツ設計 5.
ヘッダーフッター、ナビゲーションなどの実装 6. 各ページの実装、ブロックパターン等の作成 24
テーマ実装などをしながら、同時並行で先方とコンテンツの整理を進め る。 ワイヤーフレームを作成しながら、コアブロックでの作成が難しいところ をブロックスタイル + ブロックパターンで実装。 TOPページの、各セクション、CTA、FAQ 等はブロックパターン化。 25
26
開発する上での困りごと 27
メディアクエリが使えない theme.json でメディアクエリ等を用いた設定は出来ない。CSS を記述すれば 可能だけれど、theme.json がある以上、可能な限り CSS を記述したくない。 28
29
30
横並び(flex) + 幅:fixed + 横幅指定 31
幅が「fixed」の場合、 「固定幅」を設定出来るが、 これは flex-basis の数値。 上手いこと設定すると、モバイルで 1カラム、 大きな画面で 2カラム等は実現できる。 32
「画面サイズに応じて個別に指示をする」 ↓ 「要素のサイズを決めて自動的にレイアウトさせる、flexで頑張る」 33
デザイン面で考慮することは結構多いが、とりあえず、 display:none を 使わずに考える。非表示の要素を WYSIWYG で扱うのは無理。 34
ボタン等のバリエーション ・hover 制御 ボタンのバリエーションが増えがち。 エディターからは hover 等の制御が出来ない。 仮に制御出来るようになったらそれはそれ で複雑じゃない? 35
currentColor をとにかく頑張って使う。 "border": { "bottom": { "color": "currentColor", "style": "solid",
"width": "4px" }, "left": { "color": "currentColor", "style": "solid", "width": "4px" }, "right": { "color": "currentColor", "style": "solid", "width": "4px" }, "top": { "color": "currentColor", "style": "solid", "width": "4px" } }, "color": { "text": "var(--wp--preset--color--primary)" 36
pointer-events:auto; word-break:auto-phrase; display:inline-flex; align-items:center; justify-content:space-between; gap: var(--wp--preset--spacing--50); &::after { content:
''; font-size: 0.8rem; display: inline-block; vertical-align:middle; clip-path: polygon(0.8em 50%, 0% 0%, 0% 1em); width: 1em; height: 1em; background-color: currentColor; transition:all 0.1s ease-out 0s; } &:hover::after { transform: translateX(0.5em); }", clip-path とかで頑張れば複雑な形とかも 使える。 37
color-function も使える color に指定する値は、CSS プロパティで指定可能なモノなら何でも 出来るので、 calc() や rgba() なども
利用可能。 色のルールなどをちゃんと整備すると、 ブロックスタイルを増やさずに済む。 38
ナビゲーションのスタイリング ナビゲーションのHTML 構造を改変するのは非常に困難。自前でブロックを 作成するしか無いが、実装コスト・メンテナンスコストが高い。 なのでとにかく CSS で頑張る。 39
CSS で頑張るとこの くらいまでは カスタマイズ出来る。 40
41
--navigation-layout-justification-setting: stretch; & button.wp-block-navigation__responsive-container-open::before { content: "Menu"; margin-right: 4px; font-size:
1rem; font-weight: bold; text-transform: uppercase; } & button.wp-block-navigation__responsive-container-close::before { content: "Close"; margin-right: 4px; font-size: 1rem; font-weight: bold; text-transform: uppercase; } & .wp-block-navigation__responsive-container-close { display: flex; } & .wp-block-navigation__responsive-container { padding: var(--wp--preset--spacing--50) !important; } & .wp-block-navigation__responsive-close { max-width: none !important; } & .wp-block-navigation__responsive-container-content { max-width: var(--wp--style--global--content-size); margin: 0 auto; } & .wp-block-navigation-submenu.wp-block-navigation__submenu-container { padding: var(--wp--preset--spacing--40) !important; padding-top: 0 !important; } & .wp-block-navigation-submenu.wp-block-navigation__submenu-container .wp-block-navigation-item { font-size: var(--wp--preset--font-size--regular) !important; } 42
ナビゲーションのブロックの CSS には、 --navigation-layout-justification-setting: flex-start; --navigation-layout-direction: row; --navigation-layout-wrap: wrap; --navigation-layout-justify:
flex-start; --navigation-layout-align: center; 等の CSS 変数が用いられているので、ここを上書きしたりで多少の レイアウトの調整は可能。 43
フィードバック 44
ユーザーの感想 思ってたより簡単に使えた。いわゆる TinyMCE みたいなモノを想像して たからすげーってなった。 以前と比べてとかはよくわからない、触ってないしそもそも個人でサイト とか持ってないし。 ボタンとか簡単に足せるのはおどろいた、後から写真とか足せるのありが たい。 「普通のサイト」が、文字とか画像とかが案外簡単に変えれないって話は
それはびっくり。 事前に編集する部分を決めるのはしんどい。そこまで考えられない。 45
俺:右側の設定パネルとかって触った? ユーザー:なにそれ? 俺:Oh... 46
その後色々話を聞いたけど、そもそもエンドユーザーにとって、 「設定パ ネル = 高度な設定」となっているケースは多そう。 正直 CSS の知識が無いと良く解らないモノも多い。そして、タブの中に タブがある UI。初心者お断り感はすごい。
可能な限り、設定パネルを触らなくても良いように考えるのが良い。 47
俺の感想 投稿サムネイルとか、毎回作ってエラいなーって思ってたら canva で 結構 簡単に作れるという話。Instagram用の画像も作らないいけないというこ とで。 エンドユーザーがカジュアルにバナーとか作れる時代になったことの は、ブロックテーマと相性がいいかも。 「緊急のお知らせをどこに出す?」みたいな話はそのときになってはじめ
てユーザー側が想像できる話だったりする。ブロックテーマだとある程度 柔軟に対応できた。 48
ブロックテーマでの開発について 49
考えるべきこと オリジナルのブロックを作成しない限り、HTML を改変することが 難しい。そのため、デザインをフィックスさせてスタートすると 開発コストの増加に繋がる可能性が高い。 デザインと実装でフィードバックをしながらすすめることが重要。 各ブロックなどの挙動理解してデザインをすることが理想だけど、 組み合わせの問題などもあり、事前に把握するのは簡単ではないので、 サクッと実装してみて確認していくのが良いのでは? 50
スケールの 設計などもちゃんと 考えたい margin / padding 等はどんどん 肥大していくので、ちゃんと 設計したい。 https://standard.shiftbrain.com/blo
g/music-math-typography 51
CSS力は要らない? 必要!!!! theme.json だけで完結するにしても、 clamp や currentColor 、 calc() などを駆使する必要があるので、CSS力は必
須。 CSS を書かないためにもCSS力はいる。 theme.json の機能では難しいCSSプロパティは沢山ある。 (例:position, z-index, subgrid...etc) 規模が大きくなると、パターンのCSS管理、カスタムブロック開発など必 要になる! 52
CSS をいっぱい書かないと いけない場合の話。 ブロックテーマ時代における、 テーマの CSS について考える https://speakerdeck.com/torounit/2 025-dot-09-dot-13-at-shinshu- wordpress-meetup
53
今日のテーマのテキスト等を差し替えたモノ https://github.com/torounit/kansai-wordpress-meetup-20260131 54
Block Theme is Production Ready !!! 55
Thanks!!! 56