
こんにちは、投稿者のKuboです。本記事では、最新のデフォルトテーマ
Twenty Twenty-Five(TT5)を、中小規模の事業サイトやオウンドメディアで
すぐに活かすための実務手順をまとめます。導入判断、子テーマ化、編集体制、パターン/
スタイル管理、運用までを一気通貫で整理します。
目次
1. TT5の位置づけ(何が新しく、誰に向くか)
要点:TT5はブロックテーマの成熟版で、余計なCSSを排し、theme.json中心の設計と70+のパターンにより、ビジネスサイトの量産・保守を簡潔にします。
- WordPress 6.7同梱の新デフォルトテーマ。編集者はパターンから素早く統一レイアウトを作れます。
- CSSは最小限。色や余白などの方針はtheme.jsonで管理し、編集画面とフロントで整合します。
- 中小規模の事業サイト/オウンドメディアに向き、更新体制の標準化に強みがあります。
2. 最短導入:子テーマ化と初期設計(安全第一)
要点:本番に触れる前にステージングで子テーマ化し、方針(色/余白/許可ブロック)を先に固めます。
2-1. 子テーマの最小ファイル
以下はTT5の子テーマ最小構成です。フォルダ名は tt5-child を例にします。
/wp-content/themes/tt5-child/ ├─ style.css ├─ functions.php └─ theme.json
style.css(ヘッダーのみでも可)
/* Theme Name: TT5 Child Template: twentytwentyfive Version: 1.0.0 Author: MIKIYA KUBO */
functions.php(親テーマのstyleはブロックテーマでは通常不要。必要に応じて機能を追加)
<?php // 今後の拡張用。初期は空でも可。
2-2. ノーコード派:Create Block Themeプラグイン
編集画面から子テーマの作成/エクスポートまで行えます。既存スタイルを反映した子テーマを安全に作れます。
2-3. 事前チェック
- PHP 7.2+/WordPress 6.7+(TT5利用前提)。
- 本番直適用は避け、ステージング→レビュー→本番の順で。
- プラグイン互換は主要画面の操作テストで確認。
3. theme.jsonで“方針を固定”:色・余白・ブロック設定
要点:デザイン方針はtheme.jsonに集約し、編集の自由度とサイト全体の一貫性を両立させます(フォント指定は本記事では行いません)。
theme.json(抜粋例|色・余白・許可ブロック)
{ "$schema": "https://schemas.wp.org/trunk/theme.json", "version": 3, "settings": { "color": { "palette": [ {"slug":"ink","name":"Ink","color":"#111111"}, {"slug":"brand","name":"Brand","color":"#101F55"}, {"slug":"accent","name":"Accent","color":"#1e90ff"} ] }, "spacing": { "units": ["px","rem"], "blockGap": "12px" }, "blocks": { "core/paragraph": { "typography": { "lineHeight": 1.9 } }, "core/heading": { "spacing": { "margin": { "bottom": "8px" } } } }, "typography": { "fluid": true } // フォント指定はしない }, "styles": { "color": { "text": "#111111" }, "elements": { "link": { "color": { "text": "var(--wp--preset--color--brand)" } } } } }
3-1. スタイルバリエーション
季節やキャンペーンで配色を切替えたい場合は、styles フォルダにJSONを置き、編集者がワンクリックで切替え可能にします。
4. パターン運用:編集を速くし、デザインを均一化
要点:頻出セクションはブロックパターン化し、誰が作っても品質とスピードが揃う状態にします。
/patterns/hero-cta.php(例:ヒーロー+CTA)
<?php /** * Title: Hero with CTA (Brand) * Slug: tt5-child/hero-cta * Categories: call-to-action, hero */ ?>
貴社の価値を、最短で伝える。
導入〜運用まで一気通貫。更新はパターンで高速・均一化。
PHPでの登録(6.0+は /patterns 配置だけで自動登録。細かい制御が必要なら register_block_pattern を使用):
<?php add_action('init', function () { register_block_pattern( 'tt5-child/hero-cta', [ 'title' => __('Hero with CTA (Brand)', 'tt5-child'), 'categories' => ['call-to-action','hero'], 'content' => file_get_contents( get_theme_file_path('/patterns/hero-cta.php') ), 'description' => 'ブランド色のヒーローと主要CTAを配置した汎用ヘッダー', ] ); });
5. Block Bindingsで動的データを安全に差し込む
要点:Block Bindings API(WP 6.5+)で、ポストメタ等の動的値をブロック属性へ結び付けられます。カスタムフィールドの運用を、ブロック編集の体験に自然に統合できます。
手順:メタ登録 → バインド元登録 → ブロックにbindingsを書く
<?php // 1) ポストメタの登録(REST公開・単一・文字列) add_action('init', function () { register_meta('post', 'company_phone', [ 'show_in_rest' => true, 'single' => true, 'type' => 'string', 'description' => '会社代表電話番号(公開用)', ]); }); // 2) バインド元(ソース)の登録:company_phoneを返す add_action('init', function () { register_block_bindings_source('site/company-phone', [ 'label' => __('Company Phone', 'tt5-child'), 'uses_context' => ['postId'], 'get_value_callback' => function($source_args, $block_instance) { $post_id = $block_instance->context['postId'] ?? 0; return get_post_meta($post_id, 'company_phone', true); }, ]); });
ブロック側(段落)の例:編集画面/フロントでメタ値が表示されます。
03-1234-5678
注意:メタキー先頭にアンダースコア(_)は不可。show_in_rest を true にします。
6. 編集体制と権限:事故を減らす運用ルール
要点:パターン+ロールで編集自由度を保ちつつ、重要部分のカスタムを抑制します。
- 頻出セクションはパターン化し、説明文をブロックコメントに残す。
- ナビ・フッターはテンプレートパーツとして編集者の変更範囲を限定。
- レビュー手順:下書き → 同僚レビュー → スケジュール公開(誤公開防止)。
7. パフォーマンスと移行の注意
要点:TT5は軽量ですが、画像・プラグイン・外部スクリプトで遅くなります。初期から“載せすぎない”設計を徹底します。
- 画像は適切なサイズと形式で用意(メディア設定のサムネイルも確認)。
- 不要なプラグインは停止・削除。計測はCore Web Vitals中心で。
- 移行はステージング→差分比較→本番で行い、フォーム送信や決済などを重点テスト。
参考リンク
FAQ
Q1. 既存のクラシックテーマから移行できますか?
可能です。ウィジェットやテンプレート階層の違いがあるため、ステージングでテンプレートパーツとパターン置換の影響を必ず確認してください。
Q2. 子テーマは必須ですか?
運用で独自パターンやbindings、細かな制約を入れるなら子テーマを推奨します。将来の更新で上書きされにくくなります。
Q3. フォントはどこで管理しますか?
本記事ではフォント指定を行いません。必要時はtheme.jsonのtypographyやフォントライブラリを検討してください。
Q4. Block Bindingsはどのブロックで使えますか?
段落・見出し・画像・ボタンなどの一部属性で利用可能です(WP 6.5+)。詳細は開発者ドキュメントをご確認ください。