よく使うのに覚える気もなく毎回ググっている気がするので備忘録。
wp_head()
を記述した際にhead
内に出力されるタグを消す方法です。
wp_head()
を記述した際にhead
内に出力されるlink rel="alternate"
やmeta name="genarator"
などのタグですが、必要ないと思うものはremove_action()
で消して、ごちゃごちゃしたhead
内を綺麗にできます。
別にそのままでも支障はない(むしろ消してしまうと支障があるものが有る)と思いますが、確実に不要なものであれば消して少しでもソースを綺麗にしたいときに。
head
内に出力されるものは例えば下記のようなものがあります。
link rel="alternate"
link rel="EditURI"
link rel="wlwmanifest"
link rel="prev"
link rel="next"
link rel="canonical"
link rel="shortlink"
meta name="genarator"
それぞれのタグに関しての説明は割愛しますが、普段はあまり見かけないものとしてはEditURI
やwlwmanifest
は更新を通常の管理画面だけでなくアプリなどの外部ツールでする場合に必要なものだったりするので、仕様などによっては消さない方が良いと思います。
簡単にhead
内を整理できるプラグインとかもありますが、ここでは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' );
記述後にhead
内を確認すると、余計なものが消えているのが確認できます。
ちなみにremove_action( 'wp_head', 'wp_enqueue_scripts', 1 );
など他にもこういったものはあり、その他どんなものが設定されているか見たい場合は/wp-includes
にあるdefault-filters.php
の202行目辺り(WordPress Ver 3.5.1の場合)を見れば確認できます。
ただ、中には消してしまうとプラグインなどに影響するものもあるので、消してしまって問題ないかの注意が必要です。