• TOP
  • ブログ
  • プロフィール
  • お問い合わせ
  • ブロックエディタのフォントでGoogle Material Symbols を選択できるようにした

    概要

    WordPressのブロックエディタでアイコンを使いたいと思い、Google Material Symbolsを導入しようとしたときに少し手間取ったので、やり方をまとめておきます。

    最初は「外観 > エディタ > スタイル」のタイポグラフィからGoogle Fontsを選べばいいかと思っていたのですが、読み込みが遅かったり、目的のフォントが選択肢に出てこなかったりで、ストレスになっていました。

    そこで、Webフォントとして読み込み、theme.json に font-family として登録する方法をやってみることにしました。

    手順

    ①使用中のテーマに使用したいMaterial Symbolsのパスを通す

    使用中のテーマの functions.php に以下を追記します。

    add_action('wp_enqueue_scripts',functions(){
    
      	wp_enqueue_style('site_icons','https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,[email protected],100..700,0..1,-50..200', array(), '1.0.0');
    
    });

    ②テーマのtheme.jsonにフォントを登録する

    theme.jsonの settings.typography.fontFamilies に以下を追記します。
    下記は「Material Symbols Outlined」を利用する場合の例です。

    {
    	"fontFace": [
    		{
    			"fontFamily": "Material Symbols Outlined",
    			"fontStyle": "normal",
    			"fontWeight": "300 700",
    			"src": [
    				"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined%3Aopsz%2Cwght%2CFILL%2CGRAD%4020..48%2C100..700%2C0..1%2C-50..200"
    			]
    		}
    	],
    	"fontFamily": "\"Material Symbols Outlined\"",
    	"name": "Material Symbols Outlined",
    	"slug": "material-symbols"
    }

    ③管理画面(エディタ)にもフォントを読み込む

    ここまでの設定で、管理画面のフォント一覧にMaterial Symbols Outlinedが追加されます。

    ただし、このままではエディタ上でアイコンとして表示されません。なのでfunctions.phpでエディタにもGoogle Fontsを読み込むよう記述します。

    add_action('after_setup_theme', function() {
    	// Material Symbols をエディターに読み込む
    	add_editor_style('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,[email protected],100..700,0..1,-50..200');
    });

    これでブロックエディタのタイポグラフィ設定からMaterial Symbolsを選択・使用できるようになります。

    ポイント

    wp_enqueue_scripts と add_editor_style の両方が必要

    フロントエンド用の読み込み(wp_enqueue_scripts)とエディタ用の読み込み(add_editor_style)は別管理です。片方だけだと「サイトには表示されるがエディタ上でアイコンにならない」または「エディタでは見えるがフロントで機能しない」という状態になります。両方に読み込み処理を追加することを忘れずに。

    theme.json への登録はフォント選択UIに反映させるため

    wp_enqueue_scripts でWebフォントを読み込むだけでも、CSSでクラスを直接指定すれば利用は可能です。ただし、ブロックエディタのタイポグラフィUI(スタイル > タイポグラフィ)から選択・適用できるようにするには、theme.json の settings.typography.fontFamilies への登録が必要です。

    まとめ

    設定箇所目的
    functions.php(wp_enqueue_scripts)フロントエンドへのWebフォント読み込み
    theme.json(fontFamilies)エディタのタイポグラフィUIへの登録
    functions.php(add_editor_style)エディタへのWebフォント読み込み

    Material SymbolsをWordPressのブロックエディタで使うには、フロントとエディタそれぞれへの読み込み と theme.json への登録 の3点セットで対応します。theme.json を編集できるカスタムテーマや子テーマ環境であれば、上記の方法で導入できます。

    既存のサードパーティテーマを利用していて theme.json を直接編集できない場合は、子テーマを作成するか、theme.json をオーバーライドできるプラグインの利用するかが現実的だと思います。

    yori3

    2026年6月15日
    【Web】いろいろ試してみた話
  • 【WordPress】ブロックエディターで吹き出しのつくりかた

    【WordPress】ブロックエディターで吹き出しのつくりかた

    WordPressで会話風の「吹き出し」を表示したいとき、専用のプラグインを入れたり、追加CSSを書いたりするのが一般的です。でも実は、ブロックエディターの標準機能だけでも吹き出しは作れます。

    この記事では、以下の条件で吹き出しを作る手順を紹介します。

    • デフォルトテーマ
    • プラグインなし
    • 追加CSSなし

    完成イメージ

    左にアイコン画像、右に三角の矢印付きの吹き出しが並ぶ、よく見るあの形です。

    作成手順

    完成したリストビューはこんな感じ。
    入れ子構造を上から、
    1階層(一番上の横並びブロック)、
    2階層(画像ブロックとその下の横並びブロック)、
    3階層(2つのグループブロック)
    として解説します。

    階層が複雑に見えるかもしれませんが、上から順に見ていきましょう。

    ①1階層目:土台となる横並びブロックを置く

    まず、一番外側の枠として 横並びブロック を1つ追加します。
    ブロックの間隔を0pxに設定します。

    ②2階層目:アイコンと吹き出し本体を並べる

    1階層目の中に、次の2つを左から順に配置します。

    アイコン画像

    画像ブロックを追加し、以下のように設定します。

    • アスペクト比:1:1(正方形)
    • 角丸:50%(正円になります)

    これでアイコンが丸く表示されます。

    吹き出しの枠を入れる横並びブロック

    画像の右隣に、もう1つ 横並びブロック を追加します。
    この中に、次の3階層で吹き出しの枠を作っていきます。

    ③3階層目:矢印と吹き出しの枠を作る

    2階層目に追加した横並びブロックの中に、グループブロックを2つ 配置します。

    • 2つ目:吹き出しの「本体(テキストが入る枠)」になる部分
    • 1つ目:吹き出しの「矢印(しっぽ)」になる部分

    1つ目のグループブロック

    • 「コンテンツ幅を使用するインナーブロック」を OFF
    • 幅を 「fixed」 にして値を 0px に設定
    • 枠線:
      上・下・左 → 20px(任意)、実線、透明
      右 → 30px(任意)、実線、吹き出しに使いたい色

    枠線の色を「透明」にするには、色選択のカスタムから不透明度を0%にすればOKです。

    2つ目のグループブロック

    • 「コンテンツ幅を使用するインナーブロック」を OFF
    • 幅を 「fill」 に設定
    • パディング:好きな数値で設定
    • 枠線:1px(任意)、実線、矢印と同じ色
    • 角丸:好みで設定

    2つ目のグループブロックの中に好きなブロックを入れてコンテンツを作成して完成

    作成のポイント

    吹き出しの矢印

    三角の矢印は、幅・高さが0pxの要素に太い枠線をつけて、向きたい方向と反対側だけに色をつけたものです。
    たとえば左向きの矢印を作りたい場合、要素の 右側の枠線にだけ色をつけ、ほかの3辺を透明にする と、その色がきれいな三角形に見えます。

    横並びブロックのインナーブロック

    横並びブロックのインナーブロックには、「幅」という設定項目が追加されます。

    • fit:中身の長さに合わせた幅になる
    • fill:残りのスペースを埋めるように広がる
    • fixed:指定した数値の幅に固定する

    矢印部分で「fixed・0px」を使っているのは、枠線だけが見える状態にして三角形を作るため。本体部分で「fill」を使っているのは、残りのスペース全体を吹き出しの枠にしたいからです。

    さいごに

    空divタグを置くのはどうなのかというところが引っかかりますが、まあ、実際はテーマの機能を使ったり、追加css書いた方がいいかと思います。(画像部分の幅を揃えるためにも)

    今回はブロックの機能だけで作ることで、ブロックの仕組みや使い方の理解を深めるというところを目的としたので、実際のサイト制作では用途に合わせていいところだけ活用してもらえればいいかと。

    yori3

    2026年5月4日
    【Web】いろいろ試してみた話
  • 【WordPress】デフォルトのブロックだけでフローコンテンツを作る

    【WordPress】デフォルトのブロックだけでフローコンテンツを作る

    WordPressのデフォルトのブロックだけで、下のようなフローを説明するコンテンツを作ってみました。

    作り方

    ①フロー全体のブロック

    まずは縦に並べるので、縦並びブロックを設置します。
    設定で配置を「項目を拡張」にし、スタイルでブロックの間隔を0にします。

    ②フローの項目の作成

    次にフローの一つ一つの項目を作っていきます。

    まずはカラムブロックを2カラムで設置します。
    左が数字、右がコンテンツになります。

    親のカラムブロックの設定で「モバイルでは縦に並べる」をOFFにしておきます。

    このカラムブロックは右側の幅を数字の円の大きさにします。
    左カラムの幅は空欄にします。

    また、左カラムの下方向のパディングを設定します。これが次のフローとの間隔になります。

    ③フロー順の設置

    フローの順番を示す数字を設置していきます。
    (左カラムのコンテンツは自由にしてもらって大丈夫なので特に解説はありません。)

    右カラムに縦積みブロックを設置し、配置を「項目を拡張」、
    ブロックの間隔を0、「最小の高さ」を100%にします。

    その中に段落ブロックを設置し、フォントサイズを任意の値に設定し、行の高さをフォントサイズと掛け算して、先ほどの右カラムの幅と同じ値になるように設定します。
    そしてテキストと背景の色を好きな色に設定して、角丸を50%に設定します。

    そして、段落ブロックのパディングを縦横ともに0にします。
    (背景色を設定すると、デフォルトのcssでpaddingが設定される)
    パディングは「サイズ」の右の3点ボタンから表示させることができます。

    最後に段落ブロックのテキストを中央配置にします。

    次に段落ブロックの下にグリッドブロックを設置します。
    レイアウトは「手動」で2カラムにします。
    そしてブロックの間隔を0にして、「高さ」を「fill」にします。

    そのグリッドの中に空のグループブロックを2つ設置します。
    左のグループブロックは右の枠線、右のグループブロックは左の枠線を、数字の背景色と同じ色、幅1pxで設定します。

    一番最後のフローは、このグリッドは削除します。

    まとめ

    かなり力技ですが、なんとかなりました。
    デフォルトのブロックでもここまでできるということが証明できて満足しています。

    本来、線を引くためにグループブロックを使うんじゃないとかいうツッコミがありそうですが、まあ、こういうこともできるんだということで。

    【追記】

    Xでご指摘いただいた方がいて気づいたのですが、テーマによっては、流体タイポグラフィの影響で、カスタムフォントサイズで固定値にしても、画面サイズによって文字サイズが変わって、数字の円が変形してしまいます。

    その場合は、外観>エディター>スタイル>タイポグラフィ>フォントサイズプリセット からフォントサイズを追加することで解決します。

    フォントサイズプリセットの画面で、一番下のカスタムの+アイコンから新規フォントサイズを追加します。
    フォントサイズの値を上で設定しているフォントサイズにして、フルードタイポグラフィの項目をOFFにして保存します。
    投稿のエディタでそのフォントサイズを選択すると、画面サイズが変わっても文字サイズが変わらなくなります。

    yori3

    2025年12月10日
    【Web】いろいろ試してみた話
  • 当日スタッフの視点からのWordCamp【WordCamp Kansai 2025】

    当日スタッフの視点からのWordCamp【WordCamp Kansai 2025】

    WordCamp Kansai 2025に当日スタッフとして参加してきたので、その感想を書きます。

    はじめに

    まず始めに、なぜ今回当日スタッフとして参加したかというお話です。

    これまでずっとWordCampには実行委員として参加していましたが、今回は家事・育児をしながら準備に関わるのが難しそうであることと、コントリビューターデイに最初から最後まで参加してみたかったことがあり、実行委員の応募を見送ることにしました。

    ただ、スタッフとして関わる楽しさも感じていて、これは唯一無二だと思っているので、当日スタッフとして関わることに決めました。

    コントリビューターデイ

    コントリビューターデイでは、「コア」のテーブルに参加しました。
    せっかくフルで参加できるので、腰を据えてできるものってなんだろうって考えた時に、これまで興味はあったけど手が出せていなかったコアのコントリビュートに参加しようと決めました。

    内容としては、まずコアのコントリビュートについての説明を聞き、その後環境の整備をして実際に手を動かしていくと言う流れでした。
    dockerを立ち上げたり、wp-envつかったりというような作業も経験がないところだったので、そこを自分の手で進められただけでも今回は参加してよかったかなと思います。

    今回はとくに何かコミットすることはできなかったですが、流れを知ることができ、一歩踏み出せたのでよかったと思います。

    あとみんなで一緒にやってる感じがあるのもなんか楽しかった。

    セッションデイ(当日スタッフ)

    二日目のセッションデイは当日スタッフとして参加しました。
    担当はアクティビティトラック(詳しくは以下の記事で)でした。

    【アクティビティトラック】みんなが楽しめるコンテンツが盛りだくさん!

    参加者の方と関わる機会が多い担当で、スタッフ側としても楽しく過ごすことができました。
    特に番台さんでは、セッションを終えたスピーカーさんと参加者の方が話しているのを横で聞いていて、ただ話を聞くだけでなく、交流をするというWordCampの良い部分が見えてとてもよかったです。

    まとめ

    今回、WordCampに参加して感じたことは

    • コントリビューターデイに参加することでよりWordPressへの理解が深まる
    • スタッフ、スピーカー、参加者などの立場に関係なく、みんなでわいわい交流することがWordCampのメイン
    • とはいえ実行委員の事前準備がとてつもなく大変だったのは想像に難くない

    というところです。

    セッションを聞いてWordPressについて理解することももちろんすごくいいことなのですが、コントリビューターデイで実際に自分で何かをすることでWordPressそのものへの理解がより深まっていくのではないかと思います。

    また、セッションを聞いて終わり、コントリビュートして終わりではなく、それを通じて周りの参加者と意見を交わしたり、それ以外の部分でもいろいろ話をすることで、悩みが解決されたり、新しい気づきがあったりすることもこういったイベントの醍醐味だと思います。

    そして、そのイベントを成立させるためには、運営するスタッフ、前で話してくれるスピーカー、コントリビューターデイを勧めてくれるテーブルリード、たくさんのスポンサー、そして参加者が必要で、どれが欠けてもイベントは成立しないと思います。なので、あの日あの場所にいたことが(もっと言うと来れなくても情報を追ったり、興味を持ってくれたことが)一番大事なんじゃないかと個人的には思っています。

    とはいえ、このイベントのためにずっと前から事前準備を進めてくれていた実行委員会のみなさんはとても大変だったと思うので、実行委員のみなさんには改めて感謝と労いの言葉をお伝えしたいと思います。
    お疲れ様でした!

    yori3

    2025年11月4日
    【Web】いろいろ試してみた話
  • CSSで子要素を元に親要素を指定する【:has(),:not()擬似要素】

    CSSで子要素を元に親要素を指定する【:has(),:not()擬似要素】

    通常CSSといえば親要素を元に子要素を絞り込んでスタイルを指定するのが一般的で、子要素の要素名(タグ、クラス、IDなど)を元に親要素のスタイルを指定するということはできないように思います。

    例).top .contents、.about contentsなど

    しかし、子要素の要素名を元に親要素のスタイルを変える方法があります。

    :has()、:not()という擬似クラスを使います。

    例えば以下のようなhtmlがあったとします。

    <div class="wrapper">
        <div class="document">
            なんかコンテンツ
        </div>
    </div>
    
    <div class="wrapper">
        <div class="media">
            なんかコンテンツ
        </div>
    </div>

    このhtmlに対して、「div.mediaがあるdiv.wrapper」にだけ背景色を設定したいとなったとした場合、以下のようにcssを書くことで実現することができます。

    .wrapper:has(.media){
        background-color: red;
    }

    .wrapper:has(.media)という書き方をすることで、「子要素に.mediaという要素をもつ.wrapper要素」を指すセレクターとなります。
    つまり子要素によって、親要素のcssを書き分けることができたわけです。

    この時の「:has()」は擬似要素と呼ばれるcssセレクターの一種です。

    擬似要素

    擬似要素とはセレクターに付加することで要素の特定の条件のスタイルを変更するものです。
    よく使われるものでは、::before、::after(要素の前後に要素を追加する)、aタグの:hover(マウスを乗せた時のスタイル)などがあります。

    :has()

    :has()は「〜を持つ要素」という意味で、特定の条件に当てはまる場合にスタイルを有効にすることができます。
    例えば、「p:has(span)」であれば、「子要素にspanタグがあるpタグ」ということになります。
    この()の中にとれるのは子要素だけでなく、ul:has(+img)と書いて、「隣にimgタグがあるulタグ」を指すことができるなど、隣接セレクタや兄弟セレクタにも対応しています。

    使用例

    • ul:has([class])・・・クラス名がついている場合のみに有効なスタイルを指定できる。
    • h2:has(+img)・・・見出しの後に画像が来る場合にのみスタイルを適用したい場合に使える。

    :not()

    :not()は「〜を持たない要素、〜ではない要素」という意味で、指定した条件に当てはまらない要素を指定することができます。
    例えば、「p:not(.text)」であれば、「textクラスではないpタグ」を指します。
    この:not()も子要素を取れるほか、「li:not(:first-child)」と書いて一番最初のli以外という指定もできます。

    使用例

    • .element:not(:first-child) ・・・1番目以外を指定する。
    • section:not(+section)・・・sectionタグが隣接していないsectionタグのみを指定する。

    まとめ

    特定の条件をCSSで指定できるようになったことで、親要素から子要素を指定するだけでなく、子要素を条件として親要素のスタイルを設定することができるようになっています。

    自由にhtmlを組むことができるような案件であれば、classやIDを設定することでスタイルを設定できるのですが、CMSなど自由度の少ないhtmlに対してスタイルを設定したいときにも、発想と工夫でこのような要素を活用してデザインすることができます。

    今後はもっと複雑な条件分岐が設定できるというような話も聞きますので、より機能的なCSSが構築できるようになっていくのではないかと思います。
    参考:https://coliss.com/articles/build-websites/operation/css/css-at-function-and-if.html

    yori3

    2025年3月18日
    【Web】いろいろ試してみた話
  • 【WordPress】ブロックエディタ見出し15選

    【WordPress】ブロックエディタ見出し15選

    デフォルトのブロックエディタの機能で表現できる見出しのデザインを色々やってみました。

    下にそれぞれの作り方を説明していきます。
    説明内のキャプチャーは管理画面右側のブロックタブ内の設定項目の切り抜きです。

    ※テーマによってはできないものもありますので、ご使用のテーマごとにご確認ください。

    下ボーダー

    見出しブロックの枠線の下側にのみ、色とサイズを指定する

    左にボーダー

    見出しブロックの枠線の左側にのみ、色とサイズを指定する。
    テキストとのバランスを見て左パディングを少し開ける。

    左と下のボーダーで囲む

    見出しブロックの枠線の左と下に色とサイズを指定する。
    左の方が太いと見栄えが良さそう。

    上下のボーダーで囲む

    見出しブロックの枠線の上と下に色とサイズを指定する。

    立体的に見える表現

    見出しブロックの枠線の左と下にそれぞれ色とサイズを指定する。
    背景色に薄い色を指定するとそれっぽくなる

    背景グラデーション

    見出しブロックの背景にグラデーションを設定する。
    角度を90°にし、左端に単色(図では青)、右に不透明度0の色を指定して、右側の色を好きなグラデーションの長さになるように調整する。

    透明色の設定の仕方

    背景色+角丸

    見出しブロックに背景色とパディングを設定する。
    パディングはお好みの数値でOK。

    パディングの設定が見つからないという時はサイズのところの「+」をクリックするとパディングの項目を出すことができます。

    枠線のところで角丸を設定する。

    背景色+角丸(文字量で幅が変わる)

    上の「背景色+角丸」と同じ設定にした見出しブロックを横並びブロック(グループブロックで「横並び」を選択)の中に入れる。

    横並びブロックの中に入れると、見出しブロックに幅の設定項目(画像下)が追加されているので、これを「fit」にする

    アイコン付き

    見出しブロックをグループブロックの中に入れる。

    そのグループブロックの背景画像にアイコン画像をを設定し、位置とサイズを調整する。
    サイズを固定値にするときは、「タイル」を選択し繰り返しをオフにすると一つだけ置くことができる。

    そのままだとアイコンが文字にかぶるので、アイコンの分だけパディングを設定する。

    吹き出しつき

    グループブロックの中に見出しブロックと横並びブロック、さらに横並びブロックの中にグループブロックを設置する。

    横並びブロックの中のグループブロックの設定を以下のようにします。

    幅を「fixed」にして0px、最小の高さを0pxにする。
    枠線の設定を、上を見出しの背景と同じ色にし、他を不透明度0にして、同じサイズにする。

    エディター画面ではちょっとわかりづらいがこれで下向きの▼ができている

    横並びブロックの左側に少しパディングを取ることで、吹き出しの位置を調整する。


    両端に線を伸ばす


    横並びブロックの中に、区切りブロック、見出しブロック、区切りブロックの順に並べる。

    区切りブロックの幅を「fill」にすることで端まで伸びる。


    両端に線を伸ばす


    区切りブロックの幅を「fixed」にすると好きな幅に設定できる。

    途中で色変える線

    見出しブロックの下に横並びブロックを設置する。

    横並びブロックの背景にグラデーションを設定する。
    色を青、青、グレー、グレーの順で配置する。(実際使う時は任意の色でOK)

    図ではわかりづらいが、2番目の青と3番目のグレーを重ねている。
    こうすると背景色がパキッと割れた状態になる。

    この状態で角度を90°にすると、途中で色の変わる長方形ができる。

    横並びブロックの最小の高さを設定する。
    細すぎない方が色がわかりやすくなっていいかも。

    マーカー風

    見出しの背景にグラデーションを設定する。

    色を不透明度0、不透明度0、黄色、黄色の順に設置する
    2番目の不透明度0と3番目の黄色を重ねる。(上の「途中で色変える線」と同じように設定する)
    角度を180°(色のついた方が下に来るよう)に設定する。

    この状態ではマーカー線が端まで伸びてしまうので、横並びブロックの中に入れて、見出しブロックの幅をfitに設定すると、文字のところだけマーカーを引くことができる。

    両側にスラッシュ

    横並びブロックに、グループブロック、見出しブロック、グループブロックの順に配置する。

    見出しブロックのフォントサイズを「1em」にして、横並びブロックに任意のフォントサイズを設定する。
    これは後でスラッシュの大きさを文字サイズと合わせるため。

    両サイドのグループブロックの幅と最小の高さを「1em」に設定する。

    両サイドのグループブロックの背景のグラデーションを、
    白、白、黒、黒、白、白の順で色を設置して、2番目の白と3番目の黒、4番目の黒と5番目の白を重ね、中央に黒い線ができるようにする。

    角度を、左側を45°、右側を135°にする。

    カッコつき

    横並びブロックに、グループブロック、見出しブロック、グループブロックの順に配置する。

    見出しブロックのフォントサイズを「1em」にして、横並びブロックに任意のフォントサイズを設定する。
    これは後でカッコの大きさを文字サイズをベースに合わせるため。

    両サイドのグループブロックの幅を「1em」、最小の高さを「2em」に設定する。(ここは好きなカッコの大きさになるように調整)

    両サイドのグループブロックの枠線を、上、下、左(右側のブロックは右)にサイズ1px、文字色と同じ色で設定する。

    まとめ

    ブロックの機能だけで表現できる見出しを色々と作ってみました。
    グループブロックと組み合わせることで色々装飾ができるようになっています。
    また、WordPress6.7からは見出しブロックに枠線をつけることができるようになったので、ボーダーつきの見出しなど、見出しブロックだけで手軽に表現できる範囲も広がっています。

    まだまだあるかと思うので、思いついたら追加していこうと思います。

    yori3

    2025年1月19日
    【Web】いろいろ試してみた話
1 2 3 … 11
次のページ

©️ 2024 yori3 All rights reserved.