No suelo hablar mucho sobre Genesis Framework en este blog a pesar de que me encanta y lo conozco en profundidad, e incluso he desarrollado algunos plugins específicos para este framework.
De hecho, siempre que puedo elegir (en todas mis webs y en las de los clientes que se dejan aconsejar) utilizo child themes de Genesis, excepto en contadas ocasiones en que por motivos muy concretos prefiero usar Storefront . Y sí, también en comercios online con WooCommerce. Y es que, a pesar de lo que digan por ahí, Genesis y WooCommerce se llevan bien.
Tabla de contenidos
Compatibilidad entre WooCommerce y Genesis Framework
Para que no haya confusión (porque he llegado a leer de todo) voy a empezar por aclarar este punto: Genesis y WooCommerce son 100% compatibles, y el que diga lo contrario… pues seguramente será porque lo escribió hace tiempo. Vamos a empezar a aclarar conceptos.
Puedes usar Genesis con WooCommerce y todo funcionará como debe, no habrán conflictos y tendrás una tienda totalmente funcional.
WooCommerce y los child themes de Genesis
La cuestión clave es que Genesis no es una plantilla, sino un framework, una especie de «estructura» para la web, que luego los temas hijos se ocupan de completar con el diseño. Cualquier purista que lea esto me daría una paliza bien a gusto, pero creo que así nos podemos entender.
Y ahí está el asunto: que luego ha de venir el tema hijo a completar el conjunto. Y no todos los child themes de Genesis son compatibles con WooCommerce. No sólo el soporte para ello debe estar declarado específicamente en la plantilla, sino que además debería incluir los estilos necesarios para que las páginas creadas con WooCommerce luzcan bien.
Así que, como ves, no deberíamos hablar de compatibilidad entre Genesis y WooCommerce (que, como decía al principio, existe al 100%) sino de si el child theme que planeas utilizar está o no adaptado a WooCommerce.
¿Estás construyendo tu tienda online o eres implementador WordPress?
¿Necesitas plugins de calidad y con soporte para implementar funcionalidades concretas?
Consigue todos los plugins a la venta en la sección de plugins de esta web y todos los que siga añadiendo. Acceso a los 96 plugins (y subiendo) con soporte directo del desarrollador, actualizaciones y uso ilimitado: úsalos en tantas webs como lo necesites.
Entonces la cosa queda clara: Genesis es compatible con WooCommerce, pero la responsabilidad de que todo funcione correctamente y además se vea bien es del child theme. Pero entonces, ¿no estamos en las mismas?
Integrar un tema de Genesis con WooCommerce
Cierto es que no todos los child themes disponibles para Genesis están preparados para usarse con WooCommerce (eso depende de si el desarrollador que lo hizo quiso añadir esa compatibilidad), aunque lo cierto es que cada día son más los que la incluyen, porque cada día está más extendido el uso de WooCommerce (por eso si lees contenidos ya obsoletos hablan de incompatibilidad, por la falta de child themes para Genesis que lo soportaran).
Pero, ¿y si queremos usar un child theme que no lo soporta, bien porque nos gusta especialmente esa plantilla, porque ya estaba la web hecha con ella y hemos añadido la tienda, o por cualquier otro motivo?
Bueno, pues no hay que desesperar: se puede realizar esa integración a pesar de que el autor del child theme no la incluya en el tema. Y no hay sólo una forma de hacerlo, sino dos (las habituales, es decir, con un plugin y con código).
Genesis Connect for WooCommerce
La más sencilla es instalar el plugin gratuito Genesis Connect for WooCommerce. Este plugin, desarrollado por los creadores de Genesis Framework (StudioPress), realiza varios cambios:
- Añade soporte para Genesis al custom post type producto (los productos de WooCommerce)
- Añade plantillas específicas utilizadas por WooCommerce en la tienda (para los catálogos de productos: tienda, categorías, etiquetas)
- Hace que los plugins Genesis Simple Sidebars y Genesis Simple Menus sean compatibles con WooCommerce
- Algunas modificaciones técnicas más (están detalladas en la página del plugin) que harán que todo funcione como tiene que funcionar y que los layouts no se rompan
Compatibilizar el child theme de Genesis con WooCommerce mediante código
Si eres de los que le sobran los plugins y te da grima ver un listado de veinte, treinta o cuarenta y tantos instalados, también puedes hacerlo con un poco de código de forma bastante sencilla, aunque requiera varias acciones.
Primero, necesitamos una función que cargue el contenido de WooCommerce. Eso está chupado:
function ejr_woocommerce_genesis() { woocommerce_content(); }
Si te preguntas dónde hay que añadir ese código, es porque no has leído estas entradas:
Lo siguiente sería crear un archivo en el directorio del tema hijo llamado woocommerce.php, con el siguiente contenido:
Este template será utilizado para las páginas de WooCommerce, y lo que hace es reemplazar el loop por defecto por lo que devuelva la función que establecimos anteriormente, es decir, por el contenido de WooCommerce.
Por último, lo único que queda es declarar expresamente la compatibilidad de la plantilla con WooCommerce:
add_theme_support( 'woocommerce' );Esto puedes hacerlo donde normalmente pongas tu código personalizado (de nuevo te remito a las entradas que te enlazo más arriba), aunque por orden y lógica lo mejor es que vaya (este sí) en el archivo functions.php de la plantilla (hija).
Conclusiones
Estoy cansado de leer por internet que si Genesis da problemas con WooCommerce, que si es incompatible, etcétera, cuando en realidad la compatibilidad no depende de Genesis (que es totalmente compatible) sino del child theme utilizado.
En descargo de los autores de estos contenidos, diré que la mayoría se escribieron cuando no existían tantos temas hijos de Genesis con soporte para WooCommerce. Pero claro, hay quien lo lee y se queda con una idea equivocada.
Hoy día hay un gran mercado de child themes de Genesis con soporte para WooCommerce, basta echar un vistazo a las plantillas disponibles en el marketplace de StudioPress. Así que no hay razón para que no puedas disfrutar en tu tienda de las que a día de hoy son las plantillas con mayor calidad técnica disponibles para WordPress.
Deja una respuesta