WordPress 5.4より、カスタマイズからサイトアイコンを設定できるようになりました。favicon.ico にも適用されます。未設定の場合は、WordPress ロゴ (丸にWのマーク) がデフォルト アイコンとして favicon.ico に設定されます。
サイトアイコンが WordPress ロゴでは、企業サイトなどでは問題がある場合があります。とは言っても特にロゴなどのアイコンにするものが無い場合もあります。
そこで、ここではでサイトアイコンのデフォルトの WordPress ロゴを無効化する方法を紹介します。
デフォルト (WordPress ロゴ) のサイトアイコンを無効化
下記コードをテーマの functions.php に追記します。特に設定はありません。
add_filter( 'do_faviconico', function() { exit; } );
favicon.ico のリダイレクト
favicon.ico はブラウザにもよりますが、ページごとに毎回参照されます。この favicon.ico を、WordPress はリダイレクトします。リダイレクトは追加の往復により僅かではあるがパフォーマンスが低下します。
デフォルト アイコンの場合:
(サイトアドレス)/favicon.ico
↓
(サイトアドレス)/wp-includes/images/w-logo-blue-white-bg.png
そこで、リダイレクトなしで favicon.ico を直にアクセスする方法を紹介します。
下記コードをテーマの functions.php に追記します。特に設定はありません。
add_filter( 'do_faviconico', function() {
if ( $site_icon_id = get_option( 'site_icon' ) ) {
if ( $type = get_post_mime_type( $site_icon_id ) ) {
$url = wp_get_attachment_image_url( $site_icon_id, array( 32, 32 ) );
if ( $image = file_get_contents( $url ) ) {
header( 'Content-Type: ' . $type );
header( 'Content-Length: ' . strlen( $image ) );
echo $image;
}
}
} else {
// Default
// wp_redirect( get_site_icon_url( 32, includes_url( 'images/w-logo-blue-white-bg.png' ) ) );
}
exit;
} );
※ このコードには、前章のデフォルトのサイトアイコンを無効化する処理も含まれています。
最後に
サイトアイコンは、サイトの顔のようなもので、重要な要素だと思います。なるべく設定されることをおすすめします。