favicon.icoがWordPressロゴになる!?

説明

先週「WordPress 5.4 Beta2」が公開され、来月末には正式リリース。タイミングよく三連休だったので、1つ前の「ニュース」で紹介されていた変更点から確認してみた。

ニュースの冒頭内容から「ブロックエディターが便利になりそうだな」と思いつつ読み続けていくと「Better favicon handling」の項目がちょっと気になった。

ソースコードから関連しそうな関数やアクションを探してみると、2つの関数が見つかる。

function  is_favicon()
function  do_favicon()

is_favicon関数は、リクエストに応じたテンプレートの割り振りを行う/wp-includes/template-loader.phpで使用されており、リクエストがfavicon.icoが調べるもの。template-loader.phpではリクエストがfavicon.icoの場合にdo_faviconアクションを実行するコードが追加されていた。

do_faviconアクションは、/wp-includes/default-filters.phpで登録されており、そのコールバックにはdo_favicon関数が指定されていた。do_favicon関数では、do_faviconicoアクションを実行した後で、青いWordPressロゴファイル(/wp-admin/images/w-logo-blue.png)へリダイレクトしていた。

実際に5.4 Beta2を新規にインストールしてみた。ブラウザのタブにはこれまでのWordPressをインストールした場合と異なって青いWordPressロゴが表示されている(以下はWindows版Chrome)。

タブのタイトル横には青いWordPressロゴが表示されている

まっさらな環境にインストールした直後、そこには/favicon.icoファイルはない。その状態でブラウザで何らかのページにアクセスすると、/favicon.icoのリクエストが発生し、青いWordPressロゴファイルへリダイレクトされ、それが表示されるという流れのようだ。5.4以降で/favicon.icoファイルがない場合は、こうなることは心にとめておけばよいだろう。

なおこの仕組みは、サイトに/favicon.icoがあったり、管理画面で「サイトアイコン」を設定している場合は、/favicon.icoのリクエストが発生しないため影響を受けることはない。


最終更新 : 2020年02月25日 12:01


お勧め

delete_option(2019年4月24日 更新)

bool delete_option( string $option )
サイトオプションを削除する。

flush_rewrite_rules(2015年9月24日 更新)

void flush_rewrite_rules( [ bool $hard = true ] )
リライトルールを更新する。

wp_nonce_tick(2014年5月20日 更新)

int wp_nonce_tick()
nonce用の時間依存値を取得する。

get_privacy_policy_url(2018年5月27日 更新)

string get_privacy_policy_url()
プライバシーポリシーページのURLを取得する。

delete_metadata(2016年2月23日 更新)

bool delete_metadata( string $meta_type, int $object_id, string $meta_key [ , mixed $meta_value = '' [ , bool $delete_all = false ] ] )
メタ情報の値を削除する。