【WP6.6対応】自作テーマのfunctions.phpに書く初期設定9選

WordPressの初期設定って、実はいろんな機能が無効になってるんですよね。でも、私が今使ってる機能や、これから使うかもしれない機能をまとめてみたんです✨これでテーマがもっと使いやすくなればいいな~!

それと、最新のWordPressバージョン6.62でも動作確認しておいたので、安心してくださいね!

設定方法(共通)

設定は基本的に、自作テーマのfunctions.phpの中に書くんですよね✨それで、after_setup_themeのアクションフックで実行されるように実装するのがポイントなんです!これを押さえておくと、スムーズに進められますよ~!

functions.php
/**
 * fc_after_setup_theme
 * テーマ読み込み直後に実行される「after_setup_theme」フックの処理を定義する関数
 */
function fc_after_setup_theme(){
  // ここに書きます
  add_theme_support( 'xxxxxxxxxx' );
}
add_action( 'after_setup_theme', 'fc_after_setup_theme' );

一部の機能は、header.phpとか、実際に使うテンプレートファイルにも追記が必要なことがあるんですよ!それに、スタイルシートに追記が必要なものもあるから、そこも忘れずにチェックしておいてくださいね😊

HTML5に準拠したマークアップを行う

functions.php
add_theme_support( 'html5', array( // HTML5に準拠したマークアップ
	'search-form',
	'comment-form',
	'comment-list',
	'gallery',
	'caption',
	'style',
	'script',
));

2番目のパラメータの配列に書いた7か所で、HTML5に準拠したマークアップをしてくれるんですよ✨これを書くことで、HTML5で不要になった属性が出力されなくなるんです!すごく便利ですね~!

投稿とコメントのRSSフィードのリンクを有効化する

functions.php
add_theme_support( 'automatic-feed-links' ); // 投稿とコメントのRSSフィードのリンクを有効化

投稿とコメントのRSSフィードのリンクを利用する場合は、必ず有効化しておいてくださいね✨

特定種類のページでフィードのリンクを出力しない

functions.php
add_filter( 'feed_links_extra_show_search_feed', '__return_false' );

feed_links_extra_show_XXXXX_feedに対してfalseを返すフィルターを追加すれば、特定の種類のページだけフィードリンクを出力しないようにできるんですよ✨

投稿フォーマットを有効化する

functions.php
add_theme_support( 'post-formats', array( // 投稿フォーマットの有効化
  'aside',
  'image',
  'video',
  'quote',
  'link',
  'gallery',
  'status',
  'audio',
  'chat',
));

特定の投稿フォーマットを使わない場合は設定は不要なんですが、使う場合は2番目のパラメータの配列に書いた投稿フォーマットを有効にすることができるんですよ✨

タイトルタグを有効化する

functions.php
add_theme_support( 'title-tag' ); // タイトルタグの有効化

有効化すると、<head>内に<title>タグが出力されるんですよ✨<title>タグはheader.phpに直接書かずに、こうやってadd_theme_supportで有効化するのが推奨されているんです!これで、テーマがもっときれいに整いますね!

タイトルのセパレータを変更する

functions.php
function fn_title_separator( $sep ){
  $sep = ' | ';
  return $sep;
}
add_filter( 'document_title_separator', 'fn_title_separator' );

document_title_separatorフィルターを使うと、タイトルタグのセパレーターを変更できるんですよ✨標準では「-」になっているんですけど、これを使えば好きなセパレーターにカスタマイズできますね!

タイトルタグの内容を変更する

functions.php
function fn_document_title_parts ( $title ) {
  if ( is_home() || is_front_page() ) {
    unset( $title['tagline'] ); // フロントページでキャッチフレーズを非表示
  }
  if(is_single()){
	  unset($title['site']); // 投稿ページでサイト名を非表示
	}
  return $title;
}
add_filter( 'document_title_parts', 'fn_document_title_parts');

document_title_partsフィルターを使うと、タイトルタグの内容を変更できちゃうんですよ✨これを使えば、表示されるタイトルを自分好みにカスタマイズできますね!

要素内容
$title[‘title’]記事のタイトル
$title[‘page’]記事が複数ページにまたがったときのページ番号
$title[‘tagline’]管理ページの [一般設定] で設定したキャッチフレーズ
$title[‘site’]管理ページの [一般設定] で設定したサイトのタイトル

「フロントページではタイトルが「サイト名 – キャッチフレーズ」になっていて、それ以外のページでは「タイトル – サイト名」になるんですよ✨

アイキャッチ画像を有効化する

functions.php
add_theme_support('post-thumbnails', array( 'post', 'page' ) );  // アイキャッチ画像の有効化(投稿ページ・固定ページ)

テーマでアイキャッチ画像を利用する場合は、必ず有効化しておいてくださいね✨2番目のパラメータはオプションなんですが、特定の投稿タイプのみを有効化する時に使うんです!これを活用すると、必要な投稿タイプにだけアイキャッチを設定できますよ!

カスタムヘッダーを有効化する

functions.php
add_theme_support( 'custom-header', array( // カスタムヘッダーの有効化
  'default-image'          => get_template_directory_uri() . '/images/default-image.png',
  'random-default'         => false,
  'width'                  => 1200,
  'height'                 => 630,
  'flex-height'            => true,
  'flex-width'             => true,
  'default-text-color'     => '#000000',
  'header-text'            => true,
  'uploads'                => true,
  'wp-head-callback'       => '',
  'admin-head-callback'    => '',
  'admin-preview-callback' => '',
  'video'                  => false,
  'video-active-callback'  => '',
));

カスタムヘッダーを有効化します!✨有効化すると、管理メニューの [外観] – [カスタマイズ] でカスタムヘッダーの設定ができるようになりますよ。必要に応じて、2番目のパラメータの配列で初期値などの設定をしておいてくださいね!

設定したカスタムヘッダーを表示させるためには、header.phpなどに以下を追加することが大事です!これを忘れずに!

header.php
<?php if ( get_custom_header_markup() ) : ?>
	<?php the_custom_header_markup(); ?>
<?php endif; ?>
PHP

カスタム背景を有効化する

functions.php
add_theme_support( 'custom-background', array( // カスタム背景の有効化
  'default-color'          => '000000',
  'default-image'          => get_template_directory_uri() . '/images/background-image.jpg',
	'default-repeat'         => 'repeat',
	'default-position-x'     => 'left',
	'default-position-y'     => 'top',
	'default-size'           => 'auto',
	'default-attachment'     => 'scroll',
	'wp-head-callback'       => '',
	'admin-head-callback'    => '',
	'admin-preview-callback' => '',
));

カスタム背景を有効化します!✨有効化すると、管理メニューの [外観] – [カスタマイズ] でカスタム背景の設定ができるようになりますよ。必要に応じて、2番目のパラメータの配列で初期値などの設定をしておいてくださいね!

設定したカスタム背景を表示させるためには、header.phpにwp_head()body_class()を追加することが必要です。これを忘れずにね!

header.php
<head>
  ・・・(省略)・・・
  <?php wp_head(); ?>
  ・・・(省略)・・・
</head>
<body <?php body_class(); ?>>

カスタムロゴを有効化する

functions.php
add_theme_support( 'custom-logo' ); // カスタムロゴの有効化

カスタムロゴを有効化します!✨有効化すると、管理メニューの [外観] – [カスタマイズ] – [サイトの基本情報] 内でロゴの設定ができるようになりますよ!

設定したカスタムロゴを表示させるためには、header.phpなどにthe_custom_logo()を追加してくださいね!これを忘れずに!

header.phpなど
<?php if ( has_custom_logo() ) : ?>
	<?php the_custom_logo(); ?>
<?php endif; ?>

埋め込み要素のレスポンシブ対応を有効化する

functions.php
add_theme_support( 'responsive-embeds' ); // 埋め込み要素のレスポンシブ対応有効化

埋め込み要素のレスポンシブ対応を有効化します!✨これを有効にすると、YouTubeなどの動画をサイトに埋め込んだときに、画面幅に応じて表示が最適化されるんですよ!とても便利ですね!