En un artículo anterior habíamos visto cómo hacer modificaciones a una plantilla de Woocommerce, en este artículo aprenderás cómo usar los archivos del theme para personalizar la plantilla de una categoría específica en Woocommerce.
Generalidades
Los cambios de estructura HTML para una categoría de producto se realizan a través de las modificación de los archivos del theme, sobrescribiendo los archivos de plantilla de Woocommerce.
1- Sobrescribiendo archivos
Primero tienes que ubicar el siguiente archivo:
wp-content/plugins/woocommerce/templates/taxonomy-product_cat.php
Debes copiar este archivo como parte de los archivos de tu theme ubicándolo en la siguiente ruta:
wp-content/themes/TUTHEME/woocommerce/taxonomy-product_cat.php
2- Especificando categoría
Con el paso anterior simplemente hemos copiado un archivo que al hacerle los cambios tendrá efecto en todas las categorías, para que sólo tenga efecto en una categoría específica debes concatenarle un guion y el «slug» como parte del nombre.
wp-content/themes/TUTHEME/woocommerce/taxonomy-product_cat-XXX.php
Por ejemplo para una categoría llamada Camisetas, nuestro archivo quedaría: taxonomy-product_cat-camisetas.php
Con este nombre de archivo, todas las modificaciones que hagas en código tendrán efecto sólo en la categoría llamada Camisetas
3- Revisa las referencias
Si revisas el archivo taxonomy-product_cat-XXX.php, y encuentras referencias a otros archivos, tienes que también copiar esos archivos y renombrarlos, por ejemplo en el caso de Woocommerce 3.x, el código que encontrarás es el siguiente :
wc_get_template( 'archive-product.php' );
Por lo tanto tienes que copiar también el archivo archive-product.php a los archivos del theme y luego renombrarlo.
Ver comentarios (43)
Buenas tardes, gracias por tomarte el tiempo para realizar el video, mi deseo es poder modificar la plantilla de todas la categorias, por lo que cree la carpeta woocommerce, con los archivos que indicas, pero sin modificar el nombre (para que funcione en todas las categorias) pero no me lo reconoce... tuve el mismo inconveniente con la página de Tienda, en ella fue necesario añadir al funtions.php la siguiente linea
Será necesario realizar algo similar para que me reconozca las nuevas plantillas?
muchas gracias por tu ayuda
Hola, de manera general si ya agregaste soporte podrías entonces sobrescribir los archivos de vista de WooCommerce en tu theme. Has probado con una categoría específica?, si sigues con problemas escríbeme por el formulario de contacto dándome más detalles.
He realizado, paso a pso, en mi theme-Storefront- los cambios para una categoría, pero no se que hacer para que se visualice.He repasado los archivos y están en la carpeta:storefront->woocommerce. También he puesto el el slug de la categoría en los dos archivos: taxonomia......-cursos-educacion-gratis.php y archivos-cursos-educacion-gratis.php.
Me puedes ayudar. Si no te molesta, por favor, mandame también la contestación a mi correo.Gracias
buenas , estoy con el mismo problema que Fernando . donde no se visualiza ninguna cambio, y seguí los pasos correctamente..
si me pudieses ayudar te estaría muy agradecidx. .
saludos,
Hola, has probado con otros nombres de categoría en el archivo?, podrías probar directamente en el theme en caso tengas un child-theme, si sigues con problemas envíame mejor un mensaje a través del formulario de contacto.
Hola Jhon, tampoco podía visualizar los cambios hasta que eliminé el archivo "woocommerce.php" en la carpeta de mi theme y ahí me tomó los cambios. Creo que ese es el problema que tienen en los otros comentarios. Saludos!
Hola, gracias por el aporte, al parecer un theme podría tener ese archivo que cambia el comportamiento del override de WooCommerce. Saludos.
Hola Jhon! de los mejores artículos que he leído, busco navego bastante , pregunto a pocos y tú estas tocando justo un tema que me interesa...
¿Que quiero hacer en Woocommerce? Tengo cerca de 15 categorias con algo mas de 30 productos cada categoria y bueno las he dispuesto de 3 en 3 y descender con el scroll para ver solamente RECUADROS DE IMAGENES notamos que el cliente se aburre, asi que me imagino que puedo meter una caja de texto digamos cada 9 imagenes.... ¿Como se llama lo que quiero hacer y como lo harìa.... ?
Hola, tal vez si envías algún ejemplo que hayas visto podrías ejemplificar mejor, ya que como lo planteas, meter texto entre categorías o productos parece ser algo muy particular. Si te va bien puedes enviarme detalle de lo que quieres hacer a través del formulario de contacto. https://decodecms.com/contacto/ . Saludos.
Hola tengo un problema con la presentacion de las categorías de productos. El nombre de la categoría aparece dentro de la imagen en una caja. Como puedo modificarlo para que el nombre quede debajo de la imagen
Hola
Tienes que ubicar primero el archivo que te crea esa estructura, revisa primero si tienes alguna sobreescritura para las categorías de WooCommerce a nivel de tu theme, sino tendría que buscar en los archivos de WooCommerce. También es posible que sea sólo algo de diseño y que lo puedas corregir por CSS. Si sigues con problemas envíame detalles a través del formulario de contacto.
Hola.
excelente el articulo, Muchas Gracias.
Una duda, donde puedo modificar el background del titulo para cada categoria? No un banner como explicas en el video, si no que en el titulo por defecto que aparece poner un background personalizado.
Gracias Nuevamente.
Hola, WordPress genera clases específicas para cada página, revisa este artículo: https://decodecms.com/estilos-css-defecto-genera-wordpress/ , te puedes ayudar de las clases del body para identificar y cambiar el fondo de una categoría específica.
Buenas tardes,
Respecto al artículo sobre el cual escribes, he realizado los mismos pasos y no veo el cambio que inserto. No logro modificar la página de categorías. En mi theme-child he creado la carpeta...
wocommerce -> templates -> taxonomy-product_cat-aceites.php. En la misma altura he creado archive-product-aceites.php. No logro ningún cambio. No lo que se pi nte tampoco lo que escribo o guardo en axonomy-product_cat-aceites.php. Qué puedo hacer?
Muchas gracias!
Hola, en tu child-theme no debe existir la carpeta "templates", revisa el punto 1 de este artículo, los archivos sobreescritos deben estar directamente bajo la carpeta woocommerce
Hola! estoy buscando algo similar, pero no encuentro nada relacionado aún, el tema es el siguiente tenemos un Woo donde en la descripción corta tendremos datos que son variables en corto tiempo.
Ejemplo, una radio (producto1) viene con descripción corta:
- Versión: Android 9 , OctaCore, 64 Bits, 2GB DDR3 RAM, 32GB Flash ROM
+ Apple Car Play integrado. Pantalla 2.5D IPS.
Bien, pues productos con esa descripción puedo tener 100, (todos con android 9 y 2gb ram.
El problema viene aquí,
En 2 meses, estos productos todos deben pasar a la nueva Versión de Android 10 y 4gb RAM, y me toca ir uno a uno o en la BD cambiando este número quedan así:
- Versión: Android 10 , OctaCore, 64 Bits, 4GB DDR3 RAM, 32GB Flash ROM
+ Apple Car Play integrado. Pantalla 2.5D IPS.
Se que en la BD de Wordpress puedo ir editando, pero cómo puedo hacer esto masivamente, (aparte del operador IN en SQL) de forma que todos los productos de una categoría me modifiquen ese campo al instante.
Relacionar los X Productos de una categoría para EDITARLOS masivamente,
Muchas gracias, sigo revisando el blog esta muy interesante muchos códigos me vienen súper para proyectos.
Hola, de manera general, puedes evaluar usar plugins de importación/exportación de productos en WooCommerce, puedes trabajar tus actualizaciones en un excel y luego exportar el archivo en .csv para importar.
Lógicamente tienes que tener el ID o el campo SKU lleno en el archivo para que de esta manera actualice tus cambios en lugar de crear nuevos productos.
Saludos.
Hola necesito colocar un theme code para colocar una imagen en una categoria en wordpress usando customfield, quisiera saber si me pueden ayudar para saber en qué parte del archivo category.php debo hacerlo. Saludos.
Hola, no tengo del todo claro a qué te refieres, sin embargo parece ser algo personalizado y no puedo darte una respuesta genérica, si aún tienes dudas detalla un poco más tu problema a través del formulario de contacto: https://decodecms.com/contacto/
Saludos.