theme.jsonでブロックエディタの設定

WordPress 5.8で実装されたtheme.jsonを利用してブロックエディタの設定を変更する方法をメモ

概要

・テーマの最上位ディレクトリ内にtheme.jsonファイルを設置することで認識される
・add_theme_support関数で設定していた箇所を移行する事が出来る
・設定は、theme.jsonの値が優先され、functions.phpのadd_theme_support関数をオーバーライドする
・カラーパレット、フォントサイズ、グラデーションを設定した場合、CSS カスタムプロパティ(変数)が自動で作成され、フロントエンドとエディターの両方に設定される

<style id='global-styles-inline-css'>
body{--wp--preset--color--glay: #5a5e5a ;--wp--preset--color--pink: #fb3ba1 ;}
</style>

色の設定

{
 "version": 1,
 "settings": {
   "color": {
     "palette": [ // 配列で指定 : add_theme_support('editor-color-palette')
       {
         "slug": "glay", 
         "color": "#5a5e5a",
         "name": "Glay"
       },
       {
         "slug": "pink", 
         "color": "#fb3ba1",
         "name": "Pink"
       }
     ],
     "custom": false // true or false : add_theme_support('disable-custom-colors')
   }
 }
}


タイポグラフィの設定

{
 "version": 1,
 "settings": {
   "typography": {
     "customFontSize": true, // true or false : add_theme_support('disable-custom-font-sizes')
     "customLineHeight": false, // true or false : add_theme_support('custom-line-height')
     "dropCap": true, // true or false : $editor_settings['__experimentalFeatures']['typography']['dropCap'] = false
     "fontSizes": [ // 配列で指定 : add_theme_support('editor-font-sizes')
       {
         "slug": "small", // .has-{slug}-font-sizeが付与される
         "size": 16, // カスタムサイズに表示される数値
         "name": "小サイズ" // プルダウンに表示されるラベル名
       },
       {
         "slug": "middle",
         "size": 20,
         "name": "中サイズ"
       }
     ],
     or
     "fontSizes": [] // 空配列の場合はプルダウンメニューが非表示
   }
 }
}

画像1


この記事が気に入ったらサポートをしてみませんか?