Combina WooCommerce con Genesis Framework: construye una tienda en línea
Genesis no trae soporte para WooCommerce integrado de fábrica — hace falta engancharlo a mano a la estructura del framework. Te cuento cómo lo hago y cuándo tiene sentido esta combinación.
Aquí va algo que mucha gente da por hecho y no es cierto: Genesis Framework no soporta WooCommerce de forma nativa. Instalas el plugin y las páginas de tienda funcionan, sí, pero no heredan automáticamente la estructura visual de Genesis (sidebar, wraps, layout) — hay que engancharlas a mano.
Cómo se hace de verdad
WooCommerce envuelve su contenido con sus propios wrappers HTML por defecto, distintos a los de Genesis. Para que la tienda se vea integrada con el resto del sitio (mismo sidebar, mismo layout, mismos márgenes), sustituyes esos wrappers por los de Genesis:
add_action( 'after_setup_theme', 'mi_theme_soporte_woocommerce' );
function mi_theme_soporte_woocommerce() {
add_theme_support( 'genesis-structural-wraps', array( 'woocommerce-container' ) );
remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 );
remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 );
add_action( 'woocommerce_before_main_content', 'genesis_do_content_sidebar_wrap' );
add_action( 'woocommerce_after_main_content', 'genesis_do_content_sidebar_wrap_end' );
}
Con esto, la tienda pasa a usar la misma estructura de contenedores que el resto del sitio en vez de la suya propia por defecto. A partir de ahí, el resto es CSS: adaptar los estilos de WooCommerce (botones, tarjetas de producto, precios) al lenguaje visual de tu child theme.
Lo que sí resuelve bien esta combinación
Si tu proyecto es una web de contenido con blog activo que además necesita una tienda pequeña o mediana (no un catálogo enorme), Genesis te da una base de contenido muy sólida y WooCommerce añade la parte de venta encima, todo bajo el mismo diseño coherente sin instalar un theme distinto para cada cosa.
Lo que no te van a contar en ningún sitio de venta de themes
Esta combinación exige más trabajo manual de integración que un theme pensado desde cero para WooCommerce, como Storefront. Si tu proyecto es una tienda pura, sin componente de contenido/blog fuerte detrás, hoy miraría antes un theme WooCommerce-first o directamente Roots Bedrock con un theme a medida, en vez de forzar la integración con Genesis. Uso esta combinación cuando el proyecto ya tenía Genesis por otro motivo (contenido, SEO, diseño existente) y añadir tienda es un paso posterior, no cuando empiezo un proyecto de tienda desde cero.