説明
add_theme_support() は、テーマが対応する機能(アイキャッチ、タイトルタグ、HTML5出力など)を有効にする関数です。
基本構文
add_theme_support( string $feature, mixed ...$args ): void|bool
引数
$feature:機能名(post-thumbnails、title-tag、html5など)...$args:機能ごとの追加引数
戻り値
戻り値はありません(成功したかは機能による)。
使い方(サンプル)
add_action( 'after_setup_theme', function() {
add_theme_support( 'post-thumbnails' );
add_theme_support( 'title-tag' );
add_theme_support( 'html5', array( 'search-form', 'gallery', 'caption' ) );
} );
注意点
after_setup_themeフックの中で呼びます。title-tagを有効にすると、wp_headがタイトルタグを出力します。テンプレートに直接titleを書くと二重になります。
実務での使いどころ
- テーマで、アイキャッチ画像(
post-thumbnails)、タイトルタグ(title-tag)、HTML5のマークアップ(html5)などの機能を、有効にするとき。 - ブロックエディター用の機能(
editor-styles・align-wide・wp-block-styles)を、有効にするとき。
よくあるミスと対処
after_setup_themeフックの外(functions.phpの直下)で呼んでいる。動く場合もあるが、フックの中で呼ぶのが推奨。子テーマで外すときは、優先度に注意する。title-tagを有効にしたのに、header.phpに<title>を直接書いたままで、タイトルが二重になる。html5で、対象の要素(search-form・galleryなど)を、配列で指定していない。post-thumbnailsを有効にせず、アイキャッチ画像が使えない。
NG例
add_theme_support( 'post-thumbnails' ); // フックの外で呼んでいる
OK例
add_action( 'after_setup_theme', function () {
add_theme_support( 'post-thumbnails' );
add_theme_support( 'title-tag' );
add_theme_support( 'html5', array( 'search-form', 'comment-form', 'gallery', 'caption' ) );
} );
使い分け早見表
| 関数 | 役割 |
|---|---|
add_theme_support() |
テーマの機能を、有効にする |
remove_theme_support() |
有効にした機能を、無効にする |
current_theme_supports() |
機能が、有効かを確認する |
関連項目
remove_theme_support()、current_theme_supports()、after_setup_theme
公式リファレンス:add_theme_support() | Function | WordPress Developer Resources

コメント