headタグ内に記述されるwp_headからは各種のコードが出力されるが、
不要なものオリジナルテーマの記述で重複してしまうものもある。
これらを削除するには以下をfunction.phpに記述する。
※プラグイン「welcart」ではwp_headで出力するjQueryを停止させるとwp_footerで読み込む仕様になっているみたい。
そこで、wp_head、wp_footerともjQueryを出力させたくない場合は、
add_action内の’wp_enqueue_scripts’を’init’にする。
// wp_head関連 wp pluginsバージョン情報を非表示にする-------------------------------------
remove_action('wp_head','wp_generator');
function remove_cssjs_ver2( $src ) {
if ( strpos( $src, 'ver=' ) )
$src = remove_query_arg( 'ver', $src );
return $src;
}
add_filter( 'style_loader_src', 'remove_cssjs_ver2', 9999 );
add_filter( 'script_loader_src', 'remove_cssjs_ver2', 9999 );
// wp_head関連 ogpプロパティを非表示にする------------------------------------------------
remove_action( 'wp_head', 'usces_action_ogp_meta');
// wp_head関連 絵文字を非表示にする-------------------------------------------------------
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action('admin_print_scripts', 'print_emoji_detection_script');
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');
// wp_head関連 canonicalを非表示にする----------------------------------------------------
remove_action( 'wp_head', 'rel_canonical' );
// wp_head関連 コメントのフィードを非表示にする-------------------------------------------
remove_action('wp_head', 'feed_links_extra', 3);
// wp_head関連 rel="prev"とrel="next"を非表示にする---------------------------------------
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');
// wp_head関連 投稿ツール'EditURIとwlwmanifest'を非表示にする-----------------------------
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
// wp_head関連 oembedを非表示にする-------------------------------------------------------
remove_action('wp_head','wp_oembed_add_discovery_links');
// wp_head関連 shortlinkを非表示にする----------------------------------------------------
remove_action('wp_head', 'wp_shortlink_wp_head');
// wp_head関連 wp-json'https://api.w.org/'を非表示にする----------------------------------
remove_action('wp_head','rest_output_link_wp_head');
// wp_head関連 dnsプリフェッチを非表示にする----------------------------------------------
function remove_dns_prefetch( $hints, $relation_type ) {
if ( 'dns-prefetch' === $relation_type ) {
return array_diff( wp_dependencies_unique_hosts(), $hints );
}
return $hints;
}
add_filter( 'wp_resource_hints', 'remove_dns_prefetch', 10, 2 );
// wp_head関連 wp_headでjQueryを読み込ませない--------------------------------------------
function my_delete_local_jquery() {
if (!is_admin()){
wp_deregister_script('jquery');
}
}
add_action( 'wp_enqueue_scripts', 'my_delete_local_jquery' );
検索エンジンにインデックスさせるのを拒否するmeta robotsの削除
// wp_head関連 robotsを非表示にする-------------------------------------------------------
remove_action('wp_head', 'noindex', 1 );
※デバッグモードにて
「Notice: wp_deregister_script が誤って呼び出されました。管理画面では jquery スクリプトの読み込みをオフにしないでください。フロントエンドテーマだけをターゲットにするには、wp_enqueue_scripts フックを使いましょう。」と出るので45行目あたりを修正。
if(!is_admin()が無くても動作するみたい・・・
2020.1.21 記