WordPress wp_headで出力される不要タグの削除

  WordPress

wp_head() が出力するタグの中には、<meta name="generator" content="WordPress x.x" /> など、場合によっては不要なタグがいくつかあります。

  • meta name=”genarator”
  • rel=”up”
  • rel=”strat”
  • rel=”next”、rel=”prev”

 

また、WordPress 4.2 以降では絵文字表示用のスクリプトとスタイルも出力されるようになりました。
これも絵文字を使用しない場合は不要になります。

 

不要タグの削除

これらのタグが不要で削除したい場合は、remove_action() と remove_filter() を使って削除します。
記述する場所は【functions.php】に なります。

 

meta name=”genarator”

remove_action('wp_head', 'wp_generator');

 

rel=”up”

remove_action('wp_head', 'parent_post_rel_link', 10, 0);

 

rel=”strat”

remove_action('wp_head', 'start_post_rel_link', 10, 0);

 

rel=”next”、rel=”prev”

remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10);

 

remove wp-emoji

remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action('admin_print_styles', 'print_emoji_styles'); 
remove_filter('the_content_feed', 'wp_staticize_emoji');
remove_filter('comment_text_rss', 'wp_staticize_emoji'); 
remove_filter('wp_mail', 'wp_staticize_emoji_for_email');

 

remove_filter()

この関数は、特定のフィルターフックに付加されている関数を除去します。例えばデフォルトのフィルター関数を取り除き、別の関数に置き換えできます。
重要: フックから関数を除去するには、$function_to_remove$priority 引数が、フックへ関数が追加されたときと一致する必要があります。これはフィルター、アクションの双方に当てはまります。除去に失敗した時に警告は出ません。

WordPress Codex : 関数リファレンス/remove filter

remove_filter( $tag, $function_to_remove, $priority )

 

パラメータ
引数 説明
$tag
大文字
必須
除去したい関数が追加されているフィルターフック。
初期値: なし
$function_to_remove
コールバック
必須
除去したいコールバック関数。
初期値: なし
$priority
整数
オプション
関数の優先順位(関数がフックへ追加されたときに指定された値)
初期値:10

 

戻り値
真偽値 関数が除去されたかどうか。関数を除去できれば true 、そうでなければ false

 

remove_action()

この関数は remove_filter() の別名です。
この関数は、特定のアクションフックに付加されている関数を除去します。特定のアクションフックに付加されているデフォルト関数を除去することができ、別のものに置き換えできます。
重要: フックを除去するには、$function_to_remove$priority 引数がフックが追加されたときと一致する必要があります。これはフィルター、アクションの双方に当てはまります。除去に失敗した時に警告は出ません。

WordPress Codex : 関数リファレンス/remove action

remove_action( $tag, $function_to_remove, $priority, $accepted_args )

 

パラメータ
引数 説明
$tag
大文字
必須
除去したい関数が追加されているアクションフック。
初期値: なし
$function_to_remove
文字列
必須
除去する関数名。
初期値: なし
$priority
整数
オプション
 (関数がフックされる時に定義される)関数の優先度。
初期値:10
$accepted_args
整数
オプション
関数が受け入れる引数の数。
初期値:1
戻り値
真偽値 関数が除去されたかどうか。関数を除去できれば true 、そうでなければ false

 

functions.php

function disable_meta_tag() {
  remove_action('wp_head', 'wp_generator');
  remove_action('wp_head', 'parent_post_rel_link', 10, 0);
  remove_action('wp_head', 'start_post_rel_link', 10, 0);
  remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10);
  // remove wp-emoji
  remove_action('wp_head', 'print_emoji_detection_script', 7);
  remove_action('admin_print_scripts', 'print_emoji_detection_script');
  remove_action('wp_print_styles', 'print_emoji_styles');
  remove_action('admin_print_styles', 'print_emoji_styles'); 
  remove_filter('the_content_feed', 'wp_staticize_emoji');
  remove_filter('comment_text_rss', 'wp_staticize_emoji'); 
  remove_filter('wp_mail', 'wp_staticize_emoji_for_email');
}
add_action( 'init', 'disable_meta_tag' );

 

以上で完了です。

 

  WordPress     by