WordPress ログイン中の管理画面・管理バーで読み込まれる open-sans ウェブフォントは個人的に不要なので無効化するコードを書いて実装した。

WordPress 3.8 から管理画面のデザインが一新されました。

それに伴い、管理画面のフォントは open-sans ウェブフォントがデフォルト指定になり。

あいにくぼくは日本語ユーザーですので、管理画面内のフォントは 9割方日本語。

open-sans 別にいらないじゃん」

と考えたため無効化することに。

 

コアファイルを探す

無効化するために WordPress 内を grep。

/wp-include/script-loader.php 内、wp_default_styles にて発見。

function wp_default_styles( &$styles ) {

	~中略~

	$styles->add( 'open-sans', $open_sans_font_url );

	~中略~

}

 

これをフック使って取り除けばいい、と。

 

フック

フックは wp_default_styles 。

Codex http://codex.wordpress.org/Plugin_API/Action_Reference/wp_default_styles はまだ書かれていないようです。

function hoge( &$styles ) {
	// 処理
}
add_action( 'wp_default_styles', 'hoge' );

 

こういう感じで実行です。

 

open-sans を無効化するコード

やってることは

  • 関数作成
  • 処理を記述
  • フックを登録

というところ。

// 管理バー open-sans ウェブフォントを無効化
function disable_load_opensans ( &$styles ) {
	$styles->remove( 'open-sans' );
	$styles->add( 'open-sans', null );
}
add_action( 'wp_default_styles', 'disable_load_opensans' );

 

functions.php にコピペでオッケーです。

ちなみに open-sans、引数を null で再度追加しているのは、open-sans をハンドルとして動いてる他の css があるからです。

 

日本語以外の多言語環境も考慮すると

日本語環境前提で書きましたが中には多言語環境で使ってるかも。

ということで WordPress が日本語で動いてる時だけ実行するようにすると

// 日本語環境で動いてる場合
if ( get_locale() === 'ja' ) {
	// 管理バー open-sans ウェブフォントを無効化
	function disable_load_opensans ( &$styles ) {
		$styles->remove( 'open-sans' );
		$styles->add( 'open-sans', null );
	}
	add_action( 'wp_default_styles', 'disable_load_opensans' );
}

 

こうなりました。

 

まとめ

フックをある程度コアのソースを見て使えるようになるとできることが飛躍的に増えてうれしいです。

というか、こういうのをまとめたプラグインを作ったらいいんですねきっと。


投稿日

カテゴリー:

投稿者:

コメント

コメント、してみません?