お問い合わせはコチラから

【WordPress】海外テンプレ向け日本語Google fonts導入手順

サイト運営

日本語のGoogle fontsが正式版としてリリースされました。この記事では、日本語のGoogle fontsを海外テンプレートで使用する手順について紹介します。

海外Wordpressテーマの弱点

最近のWordpressテンプレートだとWeb fontの対応も当たり前で、CocoonやLuxeritasなどの無料テンプレートでも日本語のGoogle fontsは対応済みです。

しかし、海外製のWordpressテンプレートの場合は話が別です。

海外製の有料テーマもWeb fontとしてGoogle fontsに対応していることがほとんどですが、選べるfontの中に日本語fontが含まれていないことが多いです(対応してないのが普通)。

私は海外テーマの使用を以下の記事で推奨しています。

せっかくの海外テーマで日本語のGoogle fontsを使えないのは不便なので、Google fontsの日本語フォント導入手順を調べました。

日本語のGoogle fonts導入手順

日本語のGoogle fontsの導入手順は大きく3段階でOKです。

Google fontsを通常の方法で読み込む場合(レンダリングのブロックが発生する)

  1. Google fontsで使いたいfontを探す
  2. headセクション内でGoogle fontsを読み込む
  3. CSSでfont-familyを指定

Google fontsを非同期で読み込む場合(レンダリングのブロックは発生しない)

  1. Google fontsで使いたいfontを探す
  2. フォントの非同期読み込みを有効化(javascript)
  3. CSSでfont-familyを指定

Google fontsを通常の方法で読み込む場合(レンダリングのブロックが発生する)

Google fontで使いたいfontを探す

Google fontsのサイトは以下になります。

Browse Fonts - Google Fonts
Making the web more beautiful, fast, and open through great typography

Google fontsにアクセスすると日本語以外のフォントが表示されるので、まずは日本語フォントに絞り込む必要があります。

日本語のフォントを探す場合は、右のLanguagesを『Japanese』にすれば日本語フォントだけ表示されます。

現在、12種類表示されますが、SCとかTCとか最後についてるやつは中国語(簡体字中国語 SC/繁体字中国語 TC)なので、実質8種類だとおもいます。

  1. Noto Sans JP(ゴシック体)
  2. Noto Serif JP(明朝体)
  3. M PLUS 1p(ゴシック体)
  4. M PLUS Rounded 1c(丸ゴシック体)
  5. さわらび明朝
  6. さわらびゴシック
  7. Kosugi Maru(丸ゴシック体)
  8. Kosugi(ゴシック体)

日本語フォントとして、人気があるNoto Sans JPを選ぶ場合で説明します。

まず、Noto Sans JPの+をクリックします。クリックするだけでこんな感じで表示されます。

CUSTOMIZEをクリックして、ロードするフォントの条件を指定します。

初期状態だとregular 400Latinだけになっています。

LanguagesにJapaneseを追加します。

埋め込みコードの画面に戻ると、コードが変更になって『subset=japanese』が追加されています。

headセクション内でGoogle fontsを読み込む

Google fontsを使用するには、headセクション内でfontを読み込む必要があります。

読み込むための記述は、Google fontsでフォントを選択した時に表示されていた記述です。

<link href="https://fonts.googleapis.com/css?family=Noto+Sans+JP&subset=japanese" rel="stylesheet">

Google fontsを使用するには、この記述を使用しているテーマのheadセクションに追加して読み込まなければなりません。

headセクションにユーザーが記述を追加する場合、使用しているテーマによって方法が違います。

もし、テーマ側でheadセクションのカスタマイズを提供していない場合は、直接テーマファイルをいじるのではなく、子テーマを用意して子テーマのfunction.phpに記述を追加するのが簡単です。

function.phpに記述する方法
function custom_script_name(){
?>
<link href="https://fonts.googleapis.com/css?family=Noto+Sans+JP&subset=japanese" rel="stylesheet">
<?php
}
add_action('wp_head', 'custom_script_name');

CSSでfont-familyを指定

子テーマのCSSで、Google fontsを使用する要素にfont-familyで指定します。

フォントの指定はwindowsやmac、iOSやAndroidでいろいろ違うのでややこしいのですが。

自分の場合は、web fontは最後の手段なので基本端末が持っているフォントを使うんだけどwindowsがアレなので、そこはweb fontでというスタンスです。

font-familyの指定方法についてはサルワカさんのfont-familyメーカーの説明が詳しくてわかりやすいです。

Font-familyメーカー:フォント種類一覧からサクッと指定
Windows・Mac・iOSの標準フォント一覧からドラッグするだけで簡単にfont-familyを作成できます。

bodyというのは例です。

body {font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','Noto Serif JP',serif;}

Google fontsを非同期で読み込む場合(レンダリングのブロックは発生しない)

Google fontで使いたいfontを探す

非同期で読み込まない場合と同じです。

CSSでfont-familyを指定

非同期で読み込まない場合と同じです。

フォントの非同期読み込みを有効化(javascript)

ユーザーが用意したjavascriptを読み込めるのであれば、フォントの遅延読み込みを有効にするのがよいです。

javascript内でGoogle fonts名を指定する(この例だとRoboto)ので、<head>内でGoogle fontsを読み込む必要ありません。javascriptのfamilies:[ここにGoogle fonts名]を書くとGoogle fontsを読み込んでくれます。
window.WebFontConfig = {
google: { families: ['Roboto'] },
active: function() {
sessionStorage.fonts = true;
}
};

(function() {
var wf = document.createElement('script');
wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js';
wf.type = 'text/javascript';
wf.async = 'true';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(wf, s);
})();
Web Font Loader で Google Fonts を非同期で読み込みサイト速度を改善 - FirstLayout
サイト表示速度を遅くせず Google Fonts を利用できる Web Font Loader の使い方の説明です。テキストがちらつく FOUT を抑えることもできます。

Web Font Loader は、フォントイベントに対応したクラス名を <html> タグに追加します。

CSS で主に利用する追加されるクラス名は、下記のとおりです。

  • .wf-loading:フォントを読み込み中の時
  • .wf-active:フォントの読み込みが完了した時
  • .wf-inactive:フォントの読み込みに失敗、またはブラウザが Web フォントに対応していない時

とありますので、遅延読み込みのjavascriptが正常に動いていれば、<html>タグにwf-activeというクラスが追加されているはずです。なお、<html>タグというのはページの先頭付近に1か所だけあるやつです。

もし、wf-activeが見つからない場合は、<link>タグで通常の読み込みが残っている可能性があります。

javascriptを読み込むためのfunction.php記述

子テーマに./jsというディレクトリを掘って、my_custom.jsというファイルを用意しておきます。そのjsファイルに読み込みたいjavascriptを書いておきます。

// Register and enqueue scripts
function my_custom_scripts() {
wp_enqueue_script(
'custom-script',
get_stylesheet_directory_uri() . '/js/my_custom.js',
array( 'jquery' )
);
}

add_action( 'wp_enqueue_scripts', 'my_custom_scripts' );
Autooptimizeで同じことができそう

Autooptimizeの設定を見ていたら、Google fontsの読み込みに関する設定がありました。

そこにwebfont.jsを使うという選択肢がありました。

Autoptimizeを既に導入しているのであれば、webfonts.jsの導入はすごい簡単なのか?と思いますが、Autoptimize側でGoogleフォントを読み込んでいるか知らないので、その部分の指定は自分でやらないといけないということだと思います。(だったら自分でやるのとかわらなくない?)

Noto-Serif-jpが文字化けした時の対策方法

Windows環境でも明朝体が美しいのでNoto-Serif-jpを使う人は多いかもしれません。

Noto-Serif-jpは、iphoneだけ文字化けする不具合があります。

原因と対処方法については以下の記事をご参照ください

まとめ

最近はいろんな便利なカスタマイズもネットで調べればすぐに出てきます。修正そのものもコピペで済むケースが多く、カスタマイズのハードルは下がってきていると思います。

しかし、何事もそうですが修正とその確認はワンセットです。確認ができないような修正というのは必ず不具合が起きます。様々なカスタマイズを行うのは自由ですが、自分が考えているように内部状態や動作が変わっているのか逐一確認しておかないと、後々問題が起きますのでご注意ください。

海外テーマの導入を考えているのであれば、以下の記事をお勧めします。

この記事を書いた人
ブーン

はるばる日本よりオランダ王国へやってまいりました。
自分の経験が少しでも参考になれば嬉しいです。
お問い合わせは、『こちら』からお願い致します。

\ブーンをフォロー/
スポンサーリンク
サイト運営
\シェアお願いします!/
\ブーンをフォロー/
こんな記事も読まれています

失敗しないレンタルサーバーランキング

mixhost

不正アクセスに強くて使いやすいおススメサーバー
\本サイトで利用中/
メリット①:自動ウィルス駆除対応
メリット②:サイトの表示速度が速い!
メリット③:転送量の上限が多い!
メリット④:自由にプラン変更ができ、アクセス増にも対応できる!
メリット⑤:バックアップデータが無料で復元できる!
メリット⑥:Wordpressが簡単にインストールできる!
メリット⑦:どのプランでも初期費用が無料!
メリット⑧:10日間の無料お試し期間と30日の返金保証!

Conoha Wing

国内Wordpress最速の最強サーバー
メリット①:圧倒的な表示速度
メリット②:レンタルサーバーと独自ドメインがセットでお得◎
メリット③:プラン変更はすべてのプランで自由自在
メリット④:一か月の利用転送量の制限が緩い(9TB~)
メリット⑤:WordPresサイトの移行が簡単

エックスサーバー

国内シェアNo1の安定性と実績が魅力。ALL SSDで死角なしの万能サーバー。
メリット①:サイトの表示速度が安定して速い!
メリット②:アクセス負荷に強くて安定性が高い!
メリット③:24時間365日の充実サポートで安心!電話サポートもあり!
メリット④:転送量が多い!
メリット⑤:自動バックアップ機能付き!
メリット⑥:WordPressが簡単にインストールできる!
メリット⑦:10日の無料お試し期間がある!

タイトルとURLをコピーしました