add_theme_support() の使い方|説明・引数・注意点

説明

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

コメント

タイトルとURLをコピーしました