add_theme_support()

add_theme_support() le dice a WordPress que el tema activo soporta una característica concreta. Algunas funcionalidades de WordPress están desactivadas por defecto y solo se activan cuando el tema las declara explícitamente.

¿Dónde se llama?

Siempre dentro del hook after_setup_theme, nunca directamente en el scope global.

Características más usadas

// Deja que WordPress gestione el <title> de la página
// Sin esto, hay que poner el título a mano en header.php
add_theme_support( 'title-tag' );

// Activa las imágenes destacadas (thumbnails)
add_theme_support( 'post-thumbnails' );

// Solo para ciertos tipos de post
add_theme_support( 'post-thumbnails', [ 'post', 'producto' ] );

// Logo personalizable desde Apariencia → Personalizar
add_theme_support( 'custom-logo' );

// Imagen de cabecera personalizable
add_theme_support( 'custom-header' );

// Fondo personalizable
add_theme_support( 'custom-background' );

// HTML5 semántico (muy recomendado)
add_theme_support( 'html5', [ 'search-form', 'gallery', 'caption', 'script', 'style' ] );

// Soporte para alineación ancha y completa en bloques Gutenberg
add_theme_support( 'align-wide' );

// Estilos del editor = frontend (evita diferencias visuales)
add_theme_support( 'editor-styles' );

// Post formats (aside, gallery, link, image, quote, video, audio)
add_theme_support( 'post-formats', [ 'aside', 'gallery', 'image', 'quote' ] );

Comprobar si una característica está activa

if ( current_theme_supports( 'post-thumbnails' ) ) {
    // el tema soporta imágenes destacadas
    the_post_thumbnail( 'large' );
}

Eliminar una característica

// En un tema hijo, para desactivar algo del tema padre
remove_theme_support( 'custom-background' );