
ワードプレスで wp_head(); を記述した際に、head内にmeta name="generator"やlink rel="wlwmanifest"などの必要がないHTMLが出力されることがあります。
これはデフォルトで用意されている関数「remove_action」を使って綺麗に成形することができます。
例えばhead内に出力されるタグには以下のようなものがあります。
- meta name="genarator"
- link rel="alternate"
- link rel="EditURI"
- link rel="wlwmanifest"
- link rel="prev"
- link rel="next"
- link rel="canonical"
- link rel="shortlink"
※追記:WordPress 4.4 以降からは次のタグも追加で出力されます。
- link rel='https://api.w.org/'
- link rel="alternate" type="application/json+oembed"
- link rel="alternate" type="text/xml+oembed"
…などなど。
EditURIやwlwmanifestなど、外部のアプリケーションを使って更新作業をする際に必要なタグもあり、環境によっては削除しないほうが良いケースもあります。
また簡単にhead内を整理できるプラグインもありますが、今回は[functions.php]を使う方法を紹介します。
テーマファイル内に[functions.php]が存在しない場合はこの機会にぜひ作成してください。ワードプレスをカスタマイズするうえで大変便利です。
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'feed_links_extra', 3);
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'rel_canonical');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'parent_post_rel_link', 10, 0);
remove_action('wp_head', 'start_post_rel_link', 10, 0);
remove_action('wp_head', 'wp_shortlink_wp_head');
// Since 4.4
remove_action('wp_head','wp_oembed_add_discovery_links');
remove_action('wp_head','rest_output_link_wp_head');
上記をfunctions.phpに記述後にhead内を確認すると、余計なものが消えているのが確認できます。
ちなみに「wp_head」にその他どんなものがフックされているか見たい場合は「wp-includes/default-filters.php」内に記述されています。
ただ、中には消してしまうとプラグインなどに影響するものもあるので、非表示にする際は細心の注意が必要です。