[WordPress]サイトアイコンを設定した際に自動で追加されるiconヘッダを無効にする
2016/02/20
新年あけてしまいましておめでとうございます。
そこそこにこそこそやってます。
さて、WordPressにサイトアイコンと言う機能があり、これを設定すると自動でfaviconや記事の埋め込みの際に設定したアイコンが表示されるようになります。
このブログでは記事の埋め込みにアイコンを設定する目的で設定しているのですが、これを設定するとfavicon用のアイコンヘッダが自動で出力されてしまい、別途自分でアイコンを設定している場合には2重にiconヘッダが存在してしまいます。
そのため、今回はサイトアイコンを設定しつつ、faviconヘッダを出力しない方法をご紹介します。
スポンサーリンク
サイトアイコンを設定する
外観->カスタマイズ->サイト基本情報->サイトアイコンで設定できます。
設定すると
このアイコンを設定すると記事の埋め込み機能を利用した際にサイトのアイコンが表示されます。
設定していない場合はWordPressのアイコンが出力されます。
埋め込み機能ってのは以下の様な物の事です。
また、ヘッダに自動で以下の様なfaviconのタグが出力される様になります。
<link rel="icon" href="URL" sizes="32x32" />
<link rel="icon" href="URL" sizes="192x192" />
<link rel="apple-touch-icon-precomposed" href="URL" />
<meta name="msapplication-TileImage" content="URL" />
しかし、このブログではより確実にアイコンを表示出来る様に以下の様なタグを直接ヘッダに記入しています。
<link rel="icon" href="URL">
<link rel="shortcut icon" href="URL">
<link rel="apple-touch-icon-precomposed" href="URL">
<link rel="apple-touch-icon-precomposed" sizes="57x57" href="URL">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="URL">
<link rel="apple-touch-icon-precomposed" sizes="76x76" href="URL">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="URL">
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="URL">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="URL">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="URL">
そのため、自動で出力されるヘッダに依って2重に設定されてしまっている状況になります。
これでは意味がないのですが、かと言ってサイトアイコンの設定を消してしまうと埋め込み機能のアイコンが変更出来ません。
そのため、ヘッダに出力されるfaviconのみ消してしまおうと思います。
faviconヘッダを出力しない
せっかち向けにさっさと説明してしまうと、functions.phpに以下の1行を追加するだけです。
remove_action('wp_head', 'wp_site_icon',99);
第三引数の「99」がミソです、これが無いとヘッダからfaviconは消えません。
このヘッダは(4.1.1の時点で)「wp-includes/default-filters」の239行目で追加されています。
この239行目で追加された物を解除する事で、サイトアイコンを設定しつつ、faviconは出力しない、と言った事が可能です。
新しく追加された埋め込み機能は自サイトの別記事を紹介する際にとても便利な機能です、自分のサイト内の記事である事を伝えるためにも埋め込みのアイコンは設定しておいた方が良いでしょう
かと言ってfaviconが出力されると困る場合には今回紹介した手段でfaviconのみ解除するのがおススメです。