この記事は最後に更新してから1年以上経過しています。
説明
Gutenbergエディターを試していてしっくりこないのが、編集時とそれを投稿した際の見た目の違い。GutenbergエディターとテーマTwenty Seventeenとではまったく異なるタイプのフォントが適用されていることが大きな理由である。
font-familyの違いを確認
まずはそれぞれにどんなフォントが指定されているのか確認していこう。Gutenbergエディターでは編集要素が細分化されているが、デモページで多数出現するタイトルと本文部分のfont-familyはどちらも「"Noto Serif",serif」が指定されている。
// 以下font-familyのみ抜粋
.editor-post-title__block .editor-post-title__input {
font-family: "Noto Serif",serif;
}
.editor-block-list__block {
font-family: "Noto Serif",serif;
}
これに対してテーマTwenty Seventeenでは、主要部分のfont-familyが「sans-serif」となっている(要素別に個別指定もある)。
// 以下font-familyのみ抜粋
html {
font-family: sans-serif;
}
Gutenbergエディターのfont-familyを変える
異なる系統のfont-familyが指定されていることがわかったところで、Gutenbergエディターの指定を変更し、「しっくりこない」感を緩和しようと思う。Gutenbergエディターのcssを調整する際に利用できるアクションはいくつか存在しているが、ここではGutenbergエディター自身がJavaScriptやCSSファイルの読み込みを行うgutenberg_editor_scripts_and_styles関数(/gutenberg/lib/client-assets.php)が最後に実行するenqueue_block_editor_assetsアクションを利用する。テーマのfunctions.php向けのサンプルは次の通り。
add_action( 'enqueue_block_editor_assets', 'set_mytheme_font_family' );
function set_mytheme_font_family() {
$inline =
".gutenberg-editor-page .editor-post-title__block,
.gutenberg-editor-page .editor-post-title__input,
.gutenberg-editor-page .editor-block-list__block {
font-family: %s;
}";
wp_add_inline_style( 'wp-edit-post', sprintf( $inline, 'sans-serif' ) );
}
Gutenbergエディターの表示は次のように変わる。
フォントサイズや領域の違いはあるが、違和感はかなり和らいだと思う。
おまけ
さてgutenberg_editor_scripts_and_styles関数の中身を見てみると、block_editor_settingsフィルターが気になった。
$editor_settings = apply_filters( 'block_editor_settings', $editor_settings, $post );
パラメータ$editor_settingsは連想配列で、エディターに関連するさまざまな設定を調整できるようになっている。
キー | 内容 |
---|---|
alignWide | false |
availableTemplates | 連想配列(キーがテンプレートファイル名、値がテンプレート名) |
allowedBlockTypes | true |
disableCustomColors | false) |
disablePostFormats | false |
titlePlaceholder | "タイトルを追加" |
bodyPlaceholder | "本文をここに書く" |
isRTL | false |
autosaveInterval | 10 |
maxUploadFileSize | ※環境依存値 |
allowedMimeTypes | 連想配列(キーがファイル拡張子、値がそのMIMEタイプ名) |
styles | スタイル要素を含んだ配列 |
$editor_settingsの内容はこのフィルターの実行後にインラインスクリプトとして出力されるようになっており、Gutenbergエディターをカスタマイズする際には活用できそうだ。
最終更新 : 2018年10月16日 13:17
関連
お勧め
add_shortcode(2018年5月27日 更新)
get_user_setting(2022年1月31日 更新)
have_posts(2018年5月27日 更新)
in_category(2018年5月27日 更新)
add_feed(2024年6月24日 更新)