コンテンツにスキップ

WordPress のフォント機能( Font Library )の使い方

メインイメージ

WordPress 6.5 で WordPress に追加されたフォント機能( Font Library )についてまとめました。

確認時の環境

  • WordPress 6.6.1
  • 使用テーマ: Twenty Twenty-Four

Font Library とは?

Font Library (フォントライブラリ)は WordPress 6.5 (2024年4月リリース)で追加された機能で、ウェブサイトで使用するフォントを効率的に管理・使用できる機能です。 サイトエディターの一機能という位置付けで、テーマのサイトエディターの中で利用できます。

ピンと来ない方には従来からある「メディアライブラリ」のフォント版だと捉えるとわかりやすいと思います。 ファイルはデフォルトで wp-content/uploads/fonts ディレクトリに保存されます。

次の 4 つのフォントファイルのフォーマット(拡張子)がサポートされています。

  • .ttf
  • .otf
  • .woff
  • .woff2

Font Library でできること

Font Library では次のようなことができます。

サイトビルダー / ユーザー

サイトビルダー / ユーザーは管理画面から Google Fonts のフォントをダウンロードしたり、フォント配布サイトなどからダウンロードしたフォントをアップロードしたりできます。

Google Fonts からダウンロードしたり手元からアップロードしたりしたフォントは「インストールされているフォント」として管理され、テーマエディタや投稿のブロックエディタで選んでサイトで使用できます。

開発者

開発者は独自のフォントコレクションを追加してユーザーが管理画面からノーコードで利用できるフォント群を提供できます。

Font Library の使い方

フォントをアップロードする

手元にフォントファイルが無い場合はまず使用したいフォントのファイルを用意します。 今回はデモ用に 御琥祢屋(おこねや) さんが公開されているフォント「源暎エムゴ (GenEi M Gothic) 」を使わせていただきます。

源暎フォント置き場のページを開いたら、ダウンロード用のリンクをクリックします。

WordPress フォントの使い方: 御琥祢屋さん 源暎フォント置き場

ZIP ファイルがダウンロードされるので展開して中にある .ttf ファイルを確認します。

フォントファイルが手に入ったので WordPress にアップロードします。 管理画面にログインしてサイドメニュー「テーマ」→「エディター」をクリックします。

WordPress フォントの使い方: テーマ → エディター

左側のメニューの「スタイル」をクリックします。

WordPress フォントの使い方: テーマエディター → デザイン → スタイル

左側のメニューのペンアイコンをクリックします。

WordPress フォントの使い方: テーマエディター → スタイル → ペンアイコン

スタイルメニューの「タイポグラフィ」をクリックします。

WordPress フォントの使い方: タイポグラフィ

フォントの横の設定アイコンをクリックします。

WordPress フォントの使い方: タイポグラフィ → 設定アイコン

Font Library のモーダルウィンドウが開くので、モーダルウィンドウ内の「アップロード」タブをクリックします。

WordPress フォントの使い方: Font Library アップロード

.ttf ファイルをドラッグ & ドロップなどでアップロードします。 スタイルの異なるフォントファイルが複数個ある場合にはまとめて一括アップロードできます。

WordPress フォントの使い方: Font Library アップロード完了

アップロードが正常に完了すればフォントが WordPress に認識されます。 Font Library のモーダルウィンドウ内の「ライブラリ」タブをクリックすると WordPress が認識しているフォントの一覧が確認できます。

WordPress フォントの使い方: Font Library でインストールされたフォント一覧

フォントの名前をクリックして「バリアント」(スタイル)にチェックが入っていなければチェックを入れて「更新」をクリックします。

WordPress フォントの使い方: 源映 M ゴシック v2

不要になったフォントは「削除」ボタンをクリックすれば削除できます。

こうしてアップロードしたフォントは、テーマエディターや投稿のブロックエディタで利用できます。

Google Fonts からフォントをダウンロードする

Google Fonts のフォントを WordPress で利用したい場合は管理画面からぽちぽちクリックするだけでできます。 詳細は別ページで説明しているのでそちらを参照してください。

Google Fonts からダウンロードしたフォントもローカルからアップロードしたフォントと同じようにサイトエディターやブロックエディタで利用できます。

開発者向け: フォントコレクションを追加する

開発者は PHP コードを書けば独自のフォントコレクションを追加できます。 フォントコレクションとは Font Library のモーダルウィンドウ内でタブとして表示されるフォントのグループです。

wp_register_font_collection() という関数を使うことで独自のフォントコレクションを追加できます。 次のコードは Make WordPress Core のブログのサンプルを一部改変したものです。

functions.php:

add_action( 'init', 'themeslug_add_font_collections' );

/**
 * フォントコレクションを追加する
 */
function themeslug_add_font_collections() {

// フォントファミリーの定義:
$font_families = [
  [
    'font_family_settings' => [
      'fontFamily' => 'Open Sans, sans-serif',
      'slug' => 'open-sans',
      'name' => 'Open Sans',
      'fontFace' => [
        [
          'fontFamily' => 'Open Sans',
          'fontStyle' => 'normal',
          'fontWeight' => '300',
          'src' => 'https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0C4iY1M2xLER.woff2',
        ],
        [
          'fontFamily' => 'Open Sans',
          'fontStyle' => 'italic',
          'fontWeight' => '400',
          'src' => 'https://fonts.gstatic.com/s/opensans/v40/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkaVIUwaERZjA.woff2'
        ],
      ],
    ],
    'categories' => [ 'sans-serif' ],
  ],
  [
    'font_family_settings' => [
      'fontFamily' => 'Monoton, system-ui',
      'slug' => 'monoton',
      'name' => 'Monoton',
      'fontFace' => [
        [
        'fontFamily' => 'Monoton',
        'fontStyle' => 'normal',
        'fontWeight' => '400',
        'src' => 'https://fonts.gstatic.com/s/monoton/v19/5h1aiZUrOngCibe4fkPBQ2S7FU8.woff2',
        'preview' => 'https://s.w.org/images/fonts/17.7/previews/monoton/monoton-400-normal.svg'
        ],
      ],
    ],
    'categories' => [ 'display' ],
  ],
  [
    'font_family_settings' => [
      'fontFamily' => 'Arial, Helvetica, Tahoma, Geneva, sans-serif',
      'slug' => 'arial',
      'name' => 'Arial',
    ],
    'categories' => [ 'sans-serif' ],
  ],
];

// フォントカテゴリーの定義:
$categories = [
  [
    'name' => _x( 'Display', 'Font category name' ),
    'slug' => 'display',
  ],
    [
        'name' => _x( 'Sans Serif', 'Font category name' ),
        'slug' => 'sans-serif',
    ],
];

$config = [
    'name' => '私のフォントコレクション',
    'description' => '私が好きなフォントのコレクション。',
    'font_families' => $font_families,
    'categories' => $categories,
];

// フォントコレクション(フォントファミリーとカテゴリー)を登録する:
wp_register_font_collection ( 'my-font-collection', $config );

}

上のコードをアクティブなテーマの functions.php に追加すると Font Library のモーダルウィンドウに「私のフォントコレクション」というタブが追加されます。 タブをクリックするとアクティブにしたいフォントを選択できる UI が表示されます。

WordPress フォントの使い方: 私のフォントコレクション

開発者向け: Font Library を無効化する

Font Library 機能はデフォルトで有効になっています。 Font Library 機能が有効になっているとテーマが用意したフォント以外をインストールできてしまうため、フォントによってはテーマ作者が想定しないような見栄えになる可能性もあります。

Font Library の管理画面 UI を無効にしたいときはフィルタフック block_editor_settings_all を使えば OK です。

add_filter( 'block_editor_settings_all', 'themeslug_disable_font_library_ui' );

function themeslug_disable_font_library_ui( $editor_settings ) {
  $editor_settings['fontLibraryEnabled'] = false;
  return $editor_settings;
}

開発者向け: フォントの保存先ディレクトリを変更する

フォントの保存先ディレクトリを変更したいときはフィルタフック font_dir を使えば OK です。

$defaults という連想配列に設定が格納された形で渡されるので、その pathurl を変更すればフォントの保存先ディレクトリを変更できます。

フォントの保存先ディレクトリはデフォルトで wp-content/uploads/fonts ですが、これを wp-content/fonts に変更するには次のようにすれば OK です。

functions.php:

add_filter( 'font_dir', 'themeslug_alter_wp_fonts_dir' );

/**
 * Font Library のアップロード先を wp-content/fonts に変更する
 */
function themeslug_alter_wp_fonts_dir( $defaults ) {
  $defaults['path'] = WP_CONTENT_DIR . '/fonts';
  $defaults['url']  = WP_CONTENT_URL . '/fonts';

  return $defaults;
}

Note

WordPress.org 公式ではフォントの保存先はデフォルトで wp-content/fonts だという説明もあるのですが、これはリリース前の古い情報です。リリース直前に wp-content/uploads/fonts に変更されたので wp-contents/uploads/fonts が正の情報です。

なお、この設定はすでにアップロード済みのフォントには影響しません。 万が一アップロード済みのフォントファイルの場所も変更したいときは、いったん削除してからアップロードし直すとよいです(もしくは、ファイルシステム上でフォントファイルを直接移動して、データベース内のテーマのカスタムスタイル設定を手動で変更するという方法もあるにはありますが、アップロードし直す方がかんたんで確実だと思います)。

WordPress.org 関連ページ