デフォルトスタイルとスタイルの指定にプリセット値を使う方法

公開日:2023(令和5)年9月7日/最終更新日:

,
WordPress Customize Ideas | Personal WP Customization Notes (PWCN)

【景品表示法に基づく表記】ページ内のコンテンツには、商品プロモーションが含まれています



ブロックテーマをいろいろと眺めていたら、「設定の名前(スラグ)が結構バラバラだなぁ」、ということは、スタイルコードに「–wp–preset–〇〇」を使っても、テーマ変えたら台無しになってしまうのでは?という疑問が湧きました。

どのテーマでも共通で使われている設定スラグって何?ということで調べるも、明快な回答は見つけられず、結構な時間を費やした結果、「global-styles」で吐き出されてることが発覚(遅い?)。

まあ結果的にデベロッパーツールで見れば一目瞭然ではあるものの、WordPress 6.3時点でのデフォルト?スラグをメモとして公開しておきます。

なお、クラシックテーマなどでGlobal Styleの出力を無効にしている場合には出力されないのでご注意ください。

プリセット値?という方は文末の「CSSでのプリセット値の使い方」をご覧ください。

WordPressのデフォルトスタイルって?

「デフォルト」とあえて書きましたが、用語としては「グローバルスタイル」と呼びます。これは前述したような無効にする措置をしていない限り、全ページのヘッダーに「global-styles-inline-css」というIDで出力されます。

余談ですが、「global-styles-inline-css」は「global-styles」というスタイルシートの読み込みに追加するインラインでのスタイルコード出力です

有効化しているブロックテーマの「theme.json」で特に上書きするよう指定していない、または、追加の記述がない場合には、WordPress 6.3では以下のようなデフォルトスタイルが出力されます。

※以下共通して、〇〇が「theme.json」でいう「slug」の値、△△が適用される値として表示しています

色に関するもの

単色

--wp--preset--color--〇〇: △△;
slug(〇〇)値(△△)
black#000000
cyan-bluish-gray#abb8c3
white#ffffff
pale-pink#f78da7
vivid-red#cf2e2e
luminous-vivid-orange#ff6900
luminous-vivid-amber#fcb900
light-green-cyan#7bdcb5
vivid-green-cyan#00d084
pale-cyan-blue#8ed1fc
vivid-cyan-blue#0693e3
vivid-purple#9b51e0
base#ffffff
contrast#000000
primary#9DFF20
secondary#345C00
tertiary#F6F6F6

グラデーション

--wp--preset--gradient--〇〇: △△;
slug(〇〇)値(△△)
vivid-cyan-blue-to-vivid-purplelinear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)
light-green-cyan-to-vivid-green-cyanlinear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%)
luminous-vivid-amber-to-luminous-vivid-orangelinear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%)
luminous-vivid-orange-to-vivid-redlinear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%)
very-light-gray-to-cyan-bluish-graylinear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%)
cool-to-warm-spectrumlinear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%)
blush-light-purplelinear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);
blush-bordeauxlinear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%)
luminous-dusklinear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%)
pale-oceanlinear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%)
electric-grasslinear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%)
midnightlinear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%)
vertical-secondary-to-tertiarylinear-gradient(to bottom,var(–wp–preset–color–secondary) 0%,var(–wp–preset–color–tertiary) 100%)
vertical-secondary-to-backgroundlinear-gradient(to bottom,var(–wp–preset–color–secondary) 0%,var(–wp–preset–color–background) 100%)
vertical-tertiary-to-backgroundlinear-gradient(to bottom,var(–wp–preset–color–tertiary) 0%,var(–wp–preset–color–background) 100%)
diagonal-primary-to-foregroundlinear-gradient(to bottom right,var(–wp–preset–color–primary) 0%,var(–wp–preset–color–foreground) 100%)
diagonal-secondary-to-backgroundlinear-gradient(to bottom right,var(–wp–preset–color–secondary) 50%,var(–wp–preset–color–background) 50%)
diagonal-background-to-secondarylinear-gradient(to bottom right,var(–wp–preset–color–background) 50%,var(–wp–preset–color–secondary) 50%)
diagonal-tertiary-to-backgroundlinear-gradient(to bottom right,var(–wp–preset–color–tertiary) 50%,var(–wp–preset–color–background) 50%)
diagonal-background-to-tertiarylinear-gradient(to bottom right,var(–wp–preset–color–background) 50%,var(–wp–preset–color–tertiary) 50%)

文字に関するもの

文字サイズ

--wp--preset--font-size--〇〇: △△;
slug(〇〇)値(△△)
smallclamp(0.875rem, 0.875rem + ((1vw – 0.2rem) * 0.227), 1rem)
mediumclamp(1rem, 1rem + ((1vw – 0.2rem) * 0.227), 1.125rem)
largeclamp(1.75rem, 1.75rem + ((1vw – 0.2rem) * 0.227), 1.875rem)
x-large2.25rem
xx-largeclamp(4rem, 4rem + ((1vw – 0.2rem) * 10.909), 10rem)
--wp--custom--typography--font-size--〇〇: △△;
slug(〇〇)値(△△)
hugeclamp(2.25rem, 4vw, 2.75rem)
giganticclamp(2.75rem, 6vw, 3.25rem)
colossalclamp(3.25rem, 8vw, 6.25rem)

文字種

--wp--preset--font-family--〇〇: △△;
slug(〇〇)値(△△)
dm-sans“DM Sans”, sans-serif
ibm-plex-mono‘IBM Plex Mono’, monospace
inter“Inter”, sans-serif
system-font-apple-system,BlinkMacSystemFont,”Segoe UI”,Roboto,Oxygen-Sans,Ubuntu,Cantarell,”Helvetica Neue”,sans-serif
source-serif-pro“Source Serif Pro”, serif

その他装飾に関するもの

空白行

--wp--preset--spacing--〇〇: △△;
slug(〇〇)値(△△)
30clamp(1.5rem, 5vw, 2rem)
40clamp(1.8rem, 1.8rem + ((1vw – 0.48rem) * 2.885), 3rem)
50clamp(2.5rem, 8vw, 4.5rem)
60clamp(3.75rem, 10vw, 7rem)
70clamp(5rem, 5.25rem + ((1vw – 0.48rem) * 9.096), 8rem)
80clamp(7rem, 14vw, 11rem)
--wp--custom--spacing--〇〇: △△;
slug(〇〇)値(△△)
smallmax(1.25rem, 5vw)
mediumclamp(2rem, 8vw, calc(4 * var(–wp–style–block-gap)))
largeclamp(4rem, 10vw, 8rem)
outervar(–wp–custom–spacing–small, 1.25rem)

--wp--preset--shadow--〇〇: △△;
slug(〇〇)値(△△)
natural6px 6px 9px rgba(0, 0, 0, 0.2)
deep12px 12px 50px rgba(0, 0, 0, 0.4)
sharp6px 6px 0px rgba(0, 0, 0, 0.2)
outlined6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1)
crisp6px 6px 0px rgba(0, 0, 0, 1)

行の高さ

--wp--custom--typography--line-height--〇〇: △△
slug(〇〇)値(△△)
tiny1.15
small1.2
medium1.4
normal1.6

基本として指定されているのはたったこれだけで、あとはそれぞれのテーマの「theme.json」で定義されているということなんですね。

原則スタイルコードでプリセット指定されていても、訪ね当たる値がなければ無視されるわけですが、自作テーマやプラグインでプリセット値を指定する場合は、上記の値を使用するのが、テーマ変更やプラグイン変更などで影響を与えない配慮として必要でしょう。

QA Analytics QA Analytics

CSSでのプリセットの使い方

CSSに記述するスタイルコードでは、文字の大きさや種類、色などいろいろなことを書きますね。

例えば段落タグに文字種、文字サイズ、文字色を指定する場合はこんな感じ。

p{
font-family:〇〇;
font-size:〇〇;
color:〇〇;
}

この中の文字サイズを示す「font-size」を例に挙げると、〇〇の値には「〇〇px」とか「〇〇em」とか「〇〇rem」などを指定すると思います。

スタイルコードは全体に作用させたり、特定のクラスを持つ要素に作用させたりできるので便利な反面、指定を細かくするほど改修時に苦労します。知らずに指定されている値に対して別のスタイルコードで上書きを繰り返していたりして、だんだん分からなくなっていくこともあります。

でも、グローバルスタイルのプリセット値を使うと、これが一機に解消されるんです。

例えば前述の「font-size」に対しては、WordPressのグローバルスタイルでは以下の値(スラグ)が定義されています。

  • 「–wp–preset–font-size–small
  • 「–wp–preset–font-size–medium
  • 「–wp–preset–font-size–large
  • 「–wp–preset–font-size--x-large
  • 「–wp–preset–font-size–xx-large

これが、ブロックエディターの段落ブロックなどを挿入した時に出てくる「タイポグラフィ」というところに反映され、ボタンをクリックするとそれに応じたサイズに文字が拡縮するという仕組みになっています。

これを使って特定の要素の文字サイズを指定する場合は以下のように記述します。

font-size:var(--wp--preset--font-size--medium) !important;

最後の「!important」は適用されないときに優先させるためのものなので、必要な場合と不要な場合があるものの、上のコードであれば、「medium」に指定している文字サイズで表示されるようになります。

どんなプリセット値があるのかは前項の一覧をご覧ください

この文字サイズの指定は、一応前述のグローバルスタイルとして基礎定義されているのですが、ブロックテーマにある(クラシックテーマに挿入して「ハイブリッドテーマ」と呼ばれることもある)、「theme.json」というファイルから、上書きしたり追加したりすることが可能なので、プリセット値で指定しておけば、「theme.json」の値を変えたらすべての同じ要素が一括で変更できるんです。

つまり、予めプリセット値のあるものはプリセット値で指定しておくことで、後々いろいろなコードを修正する必要がない、便利な機能なんですね。

ちなみに、ブロックテーマでは、この値を「theme.json」で変更しなくても、サイトエディターの半月マークをクリックしてGUI上で編集することで上書きすることもできるので、「theme.json」なんて知らんし..という方にも配慮されています。本当にWordPressっていろいろと考えられてるんですね。

補足として、サイトエディターのグローバルスタイルで編集した場合、そのサイトでのスタイルということになり、別のサイトを作った時に流用というのがしにくくなる(厳密にはテーマのエクスポートで継承できるがちょっとややこしい)ので、「theme.json」の扱い方は覚えておいた方がいいかも知れません。

以下のページで「theme.json」の編集をちょっとしやすくするプラグインを配布してますので、よかったらどうぞ。



Lolipop ServerMoshimo Ad x-serverMoshimo Ad

WordPress Block Theme Customize | Personal WP Customization Notes (PWCN)
ブロックテーマでサイトの背景画像を設定する5つの方法