La página de resultados

See all results —y Enter en el diálogo— llevan a los resultados de búsqueda
de WooCommerce, /?s=hoodie&post_type=product. No hay plantilla que montar para
esa página: usa tu archivo de producto, el mismo de /shop/ y de tus
categorías, con sus filtros, su barra y su rejilla. Mejora el catálogo y los
resultados de búsqueda lo siguen.
Sólo necesita un encabezado que diga qué se buscó. En la cabecera del catálogo:
1. Una condición sobre url.parameter.s, con el encabezado de la búsqueda
dentro. Etch rellena {url.parameter.s} con lo que se escribió, así que el
título puede decir Search results for “{url.parameter.s}”.
2. Los encabezados que ya tienes —el de la categoría y el de la tienda— dentro
de una segunda condición, !url.parameter.s. Con el !, que es como Etch
escribe «no»: sin ésta, una búsqueda enseña su encabezado y el de la tienda.
Una búsqueda enviada vacía sigue siendo una búsqueda para WordPress; la segunda condición le da el encabezado de la tienda.
Lo que viene con ella, sin configurar nada:
- Las migas dicen Home / Shop / Search results for “hoodie”.
- La barra del catálogo avisa cuando no hay nada — y, con Rescue empty searches encendido, de que enseña «hoodie» porque nada coincidía con «hodie». El encabezado mantiene lo que se escribió.
- Los filtros cuentan lo que encontró la búsqueda, no la tienda entera.
Cuando una búsqueda deja exactamente un producto —filtros incluidos—, WooCommerce
va directo a la ficha de ese producto. Es cosa del propio WooCommerce:
add_filter( 'woocommerce_redirect_single_search_result', '__return_false' );
deja a quien compra en los resultados.
Una plantilla product-search-results que el sitio haya cambiado sigue ganando
al catálogo: una plantilla que hizo el sitio gana a una de fábrica. De fábrica es la
página del propio WooCommerce — y también la copia intacta que Etch guarda en la base
de datos cada vez que se abre su builder, que por eso no cuenta. Lo mismo con
/color/blue/: la página de atributos de WooCommerce sólo gana si alguien la cambió.
Para desarrolladores: qué tipos de contenido usan su archivo en sus búsquedas y en
los archivos de sus taxonomías es el filtro fancy_etch/templates/archive_types —
WooCommerce añade product. Devuelve una lista vacía para dejar la elección de
plantilla a WordPress y WooCommerce.
Tus búsquedas siguen usando la página de WooCommerce
Montaste el catálogo, no tocaste la plantilla de búsqueda y la página de resultados
sigue sin ser la tuya. Pasa cuando la product-search-results guardada ya no es la
página intacta de WooCommerce: una actualización de WooCommerce, una visita a
Apariencia → Editor o abrir esa página en Etch —que guarda lo que encuentra— dejan
una copia que cuenta como del sitio. Y no puedes borrarla: WordPress no borra una
plantilla que registra un plugin.

Enciende Search results use the catalogue, en Fancy Etch → Shop → Search &
Catalogue. Con eso, las búsquedas de productos las dibuja archive-product tenga lo
que tenga por delante, y no cambia nada más — /color/blue/ y el resto de las reglas
se quedan como están. Déjalo apagado si esa página de resultados sí la diseñas tú.
Para desarrolladores, el mismo interruptor es fancy_etch/woo/search_uses_catalog, y
para cualquier otro tipo de contenido, fancy_etch/templates/force_archive:
add_filter(
'fancy_etch/templates/force_archive',
static fn( $forced, $type ) => 'recipe' === $type ? true : $forced,
10,
2
);