WordPressのfunctions.php おすすめコード!初期設定

WordPress

functions.phpは、WordPressのテーマを構成するテンプレートファイルです。

テーマに機能を追加する時に、その内容をfunctions.phpファイルに書きます。

書いてあると便利なコードを紹介します。

[スポンサーリンク]


/*-------------------------------------------*/
/*  「wp_head();」に出力される余分なタグを削除する
/*—————————————————————*/
 
// WordPressのバージョンを非表示にする
remove_action('wp_head', 'wp_generator');
 
// 前の文書と次の文書へのリンクを非表示にする
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');
 
// リモート投稿をする時に使うタグを非表示にする
remove_action('wp_head', 'rsd_link');
 
// リモート投稿をする時に使うタグを非表示にする
remove_action('wp_head', 'wlwmanifest_link');
 
// WordPressの投稿IDを使った短いURLを非表示にする
remove_action('wp_head', 'wp_shortlink_wp_head');
 
//簡単に引用表示に使うを非表示にするタグをを非表示にする
remove_action('wp_head','rest_output_link_wp_head');
 
//簡単に引用表示に使うを非表示にするタグをを非表示にする
 
remove_action('wp_head','wp_oembed_add_discovery_links');
 
//絵文字用のコードを非表示にする
 
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');

//RSSフィードのURLを非表示にする
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'feed_links_extra', 3);


/*-------------------------------------------*/
/*  バージョンアップ通知を管理者のみ表示させるようにします
/*-------------------------------------------*/

function update_nag_admin_only() {
	if ( ! current_user_can( 'administrator' ) ) {
		remove_action( 'admin_notices', 'update_nag', 3 );
	}
}
add_action( 'admin_init', 'update_nag_admin_only' );

/*-------------------------------------------*/
/*  DNSプリフェッチ用コードを削除 
/*-------------------------------------------*/

add_filter( 'wp_resource_hints', 'remove_dns_prefetch', 10, 2 );
function remove_dns_prefetch( $hints, $relation_type ) {
	if ( 'dns-prefetch' === $relation_type ) {
		return array_diff( wp_dependencies_unique_hosts(), $hints );
	}
	return $hints;
}

/*-------------------------------------------*/
/* /画像の添付ファイルページのリダイレクト
/*-------------------------------------------*/

add_action( 'template_redirect', 'attachment404' );

function attachment404() {
	// attachmentページだった場合
	if ( is_attachment() ) {
		global $wp_query;
		$wp_query->set_404();
		status_header(404);
	}
}

/*-------------------------------------------*/
/*  「?ver=~」を削除する
/*-------------------------------------------*/
function vc_remove_wp_ver_css_js( $src ) {
	if ( strpos( $src, 'ver=' ) )
	$src = remove_query_arg( 'ver', $src );
	return $src;
}
add_filter( 'style_loader_src', 'vc_remove_wp_ver_css_js', 9999 );
add_filter( 'script_loader_src', 'vc_remove_wp_ver_css_js', 9999 );


/*-------------------------------------------*/
/*  お問い合わせページ以外にContact Form 7のスクリプトを読み込まなくする
/*-------------------------------------------*/

function my_contact_enqueue_scripts(){
wp_deregister_script('contact-form-7');
wp_deregister_style('contact-form-7');
if (is_page('contact')) {
  if (function_exists( 'wpcf7_enqueue_scripts')) {
    wpcf7_enqueue_scripts();
  }
  if ( function_exists( 'wpcf7_enqueue_styles' ) ) {
    wpcf7_enqueue_styles();
  }
}
}
add_action( 'wp_enqueue_scripts', 'my_contact_enqueue_scripts');

/*-------------------------------------------*/
/*[Jetpack]使用時に自動で読み込まれるスタイルシートを削除する方法。
/*-------------------------------------------*/
add_filter('jetpack_implode_frontend_css','__return_false' );



/*-------------------------------------------*/
/*  END
/*-------------------------------------------*/

この投稿へのコメント

コメントはありません。

コメントを残す