Después de tanto tiempo sin escribir en el Blog voy a hacer artículo sobre un aspecto que considero muy interesante y muy útil para toda tienda online.
Seguro que hay plugins que hagan esto pero sinceramente… todos los plugin que podamos evitarnos será bienvenido para nuestra web o tienda online.
Vamos a crear una taxonomia para los productos de una tienda en Woocommerce. Para los que no lo sepan, una taxonomía es una forma de organizar el contenido. En este caso vamos a ver formas distintas de organizar los productos.
Las taxonomías más famosas son las categorías y las etiquetas de producto. Son las principales, pero todos nos hemos visto a veces en la necesidad de clasificar los productos de distintas formas.
No es lo ideal que un producto pertenezca a muchas categorías, quizás a veces la solución es que el producto esté en distintas taxonomías.
Además… esto son posibilidades extra de posicionar palabras clave.
Puedes crear una taxonomía que sea Marca y agrupar todos los productos de una misma marca, o bien puedes crear taxonomías de colecciones vamos a poner un ejemplo si vendes artículos de decoración y a parte de las categorías sillas, mesas, camas… etc quieres organizar algunos productos de la forma «Dormitorios completos» y dentro de cada dormitorio completo pones todos los artículos que conforman esa colección. Es una forma de presentar tu producto distinta y puede que te de éxito.
Bueno, no me enrollo más, al lío…. ¿Cómo se hace esto?
Bien yo voy a ir a lo práctico no voy a enseñar a programar funciones a nadie.
Esta maravillosa herramienta para generar taxonomías nos vendrá de perlas: http://generatewp.com/taxonomy/
Lo rellenamos de la siguiente forma por ejemplo:
Importante Link post type: Product. A mi me gusta seleccionarlas como categorias (hierarchical), pero esto como cada uno prefiera, se puede poner modo Etiquetas.
La sección labels con mucha paciencia la rellenamos, esto es para que luego nos muestre en el backend Añadir coleccion, editar colección…. Así que no es demasiado importante, depende de lo detallistas que querais ser.
Después la sección de permalinks. Lo podéis dejar como viene pero creo que es mejor crear un permalink, tanto para SEO como para un poco de usabilidad. Yo en este caso podré:
Y a continuación pulsamos UPDATE CODE.
De esta forma se actualizará el código que debemos pegar en nuestro functions.php.
El código resultante es algo como esto:
if ( ! function_exists( 'coleccion_taxonomy' ) ) {
// Register Custom Taxonomy
function coleccion_taxonomy() {
$labels = array(
‘name’ => _x( ‘colecciones’, ‘Taxonomy General Name’, ‘text_domain’ ),
‘singular_name’ => _x( ‘coleccion’, ‘Taxonomy Singular Name’, ‘text_domain’ ),
‘menu_name’ => __( ‘Colecciones’, ‘text_domain’ ),
‘all_items’ => __( ‘Todas las colecciones’, ‘text_domain’ ),
‘parent_item’ => __( ‘Coleccion padre’, ‘text_domain’ ),
‘parent_item_colon’ => __( ‘Coleccion padre:’, ‘text_domain’ ),
‘new_item_name’ => __( ‘Nombre Nueva coleccion’, ‘text_domain’ ),
‘add_new_item’ => __( ‘Añadir nueva coleccion’, ‘text_domain’ ),
‘edit_item’ => __( ‘Editar coleccion’, ‘text_domain’ ),
‘update_item’ => __( ‘Actualizar coleccion’, ‘text_domain’ ),
‘separate_items_with_commas’ => __( ‘Separa las colecciones con comas’, ‘text_domain’ ),
‘search_items’ => __( ‘Buscar colecciones’, ‘text_domain’ ),
‘add_or_remove_items’ => __( ‘Añadir o borrar colecciones’, ‘text_domain’ ),
‘choose_from_most_used’ => __( ‘Elegir entre las colecciones más utilizadas’, ‘text_domain’ ),
‘not_found’ => __( ‘No se encuentra’, ‘text_domain’ ),
);
$rewrite = array(
‘slug’ => ‘colecciones’,
‘with_front’ => true,
‘hierarchical’ => true,
);
$args = array(
‘labels’ => $labels,
‘hierarchical’ => true,
‘public’ => true,
‘show_ui’ => true,
‘show_admin_column’ => true,
‘show_in_nav_menus’ => true,
‘show_tagcloud’ => true,
‘rewrite’ => $rewrite,
);
register_taxonomy( ‘taxonomy’, array( ‘product’ ), $args );
}
// Hook into the ‘init’ action
add_action( ‘init’, ‘coleccion_taxonomy’, 0 );
}
NOTA:
Como hemos dicho, lo pegamos en el Functions.php de nuestro tema y actualizamos. Ojo con editar los functions.php ya que hay que tener cuidado a la hora de hacerlo, si te equivocas y se te queda la página en blanco tendrás que ir al FTP para volver a restaurarla. A todos nos ha pasado alguna vez jeje. Yo recomiendo usar un plugin Tipo «my custom functions» que si te equivocas y hay posibilidad de que se rompa el front end no se actualiza y te lo avisa. Además es la mejor forma de conservar nuestras taxonomías cuando cambiemos de theme.
Una vez actualizado verás que en nuestro menu de administración de wordpress dentro de PRODUCTOS tendremos nuestra fabulosa taxonomía… Colecciones!
Ahora podremos crear colecciones:
Y después dentro de los productos asignarles cada colección, como si de una categoría se tratase:
Y ahora vais con toda vuestra ilusión y le dais a ver colecciones y….
¡No se ve! Error 404 en la taxonomía!!
No te asustes, es normal:
Esta es la clave, la que tantos quebraderos de cabeza me ha dado a mi y a todo el mundo que lo ha intentado hacer.
Es muy sencillo pero si no lo hacemos recibiremos un error 404, o este contenido no se encuentra.
Vamos a permalinks o enlaces permanentes y le damos a GUARDAR.
No se por que, pero hay que hacerlo, y cuando intentaba hacerlo, buscando en internet había un montón de gente que le pasaba lo mismo. La verdad es que cuestión de suerte se me ocurrió que podría haber un problema en el permalink, y cuando le di a actualizar… Ahí estaba! todo funcionaba.
Podéis ver un ejemplo en esta web: infanity.es donde cree taxonomías para vender colecciones de marcas concretas.
Luego si tenéis problemas de contenido duplicado acordaros de ponerlas en noindex y nofollow que a veces puede pasar.
Bueno ahora lo que tenemos que hacer es crear una plantilla para esta taxonomía para poder darle un diseño propio y distinto a esta nueva taxonomía de woocommerce.
Necesitamos crear lo siguiente en nuestra carpeta de nuestro-theme/woocommerce:
Crear una nueva copia de taxonomy-product.php y renombrarlo como taxonomy-colecciones.php (recordemos que nuestra taxonomía es colecciones, así que hay que renombrarlo como «taxonomy-nombretaxonomia.php»).
Después lo editamos y en su interior modificamos la siguiente linea cambiando product por el nombre de nuestra taxonomía, quedando en mi caso así:
woocommerce_get_template( ‘archive-product-colecciones.php’ );
Ahora debemos crear crear archive-product-taxonomia.php en el directorio tu-theme/woocommerce.
Lo normal será crear una copia de archive-product.php y renombrarlo.
En mi caso como he creado la taxonomia colecciones lo renombraré así: archive-product-colecciones.php. Ahora si lo que queremos es modificar el layout o añadir algo en particular podemos editar el archive-product-colecciones.php y de esta forma tendríamos una taxonomía nueva…
Yo suelo usar esto para añadir código de algunos plugins. Que solo quiero mostrar en una determinada taxonomía.
Como un formulario de contacto. También lo he utilizado para cambiar la clase de algunos elementos y mostrarlos así de formas distintas.
Si queréis saber más sobre taxonomías en Wontalia he creado unas clases avanzadas sobre como crear taxonomias de producto y las mejores practicas para posicionarlas! ¿Quieres aprenderlo? Por solo 29€ al mes puedes entrar en el mejor curso online. Acceder a Wontalia
Hola!!
Y la segunda parte!!?? 🙂
Hola Alejandro,
La estoy terminando, la verdad es que la tengo hecha pero un poco a lo rápida y cutre… pero por falta de tiempo no he podido dejarla como quisiera…
La subiré en plan rápido el Lunes/martes y ya la mejoraré.
Pero por si te corre mucha prisa, el truco para que funcione es volver a crear los permalinks. Simplemente darle a actualizar desde la pantalla de los permalinks (No hay que tocar nada, solo darle a actualizar, repito) ya te funcionará.
Luego en la segunda parte quiero explicar como se edita la plantilla de la nueva taxonomía para introducir por ejemplo una descripción o similar.
Pero por si tienes prisa y te saca del apuro, dale lo que te dije de los permalink
Hola Miguel Ángel,
Buen post y vaya descubrimiento generatewp !
Por mi parte y me imagino que a otros que caigan por aquí también, nos encantaría ver esa segunda parte, aunque no tenga toda la calidad que tú quieras darle 😀
Un saludo y gracias
Tienes razón! Lo que pasa que estoy liadísimo en el curro. En cuanto saque un poco de tiempo lo termino! Saludos amigo 😉
[…] Esta parte es muy interesante, y se utiliza para afinar resultados, podemos incluir y excluir categorías, taxonomías y tipos de formatos concretos… Además sirve para añadir taxonomías personalizadas en woocommerce. […]
[…] Pero también tienes Juguetes de licencias… ¿Como solucionamos esto? Pues deberíamos crear una nueva taxonomía para agrupar los productos según su personaje: Frozen, Cars, Disney… (En este artículo te enseño a crear taxonomías personalizadas para woocommerce). […]
Hola! Luego de crear las taxonomías, ¿Se puede importar en CSV de los productos? Tendría que agregar las taxonomías a Functions.php. Activar el Woocomerce para con el asistente realizar la importación. ¿Es correcto? ¿Mágicamente aparecería todo?
Buenas,
Las taxonomías las creas en functions.
Después Puedes importar los productos y asignarle sus taxonomías. El mejor plugin para hacer esto es WPALLIMPORT, lo hace perfecto y puedes elegir las taxonomías que quieras.
Con el asistente de WOO no he probado por que es relativamente nuevo y desde hace tiempo uso WPALLIMPORT.
Y una vez importado… MAGIA 😀
Saludos!
Hola espero usar tu método para crear una taxonomía de ubicaciones (ciudades, etc) para woocommerce, lo has probado, como se añade a una barra lateral?
Añadir a una barra lateral? A qué te refieres? a poder filtrar por taxonomía? Puedes usar un plugin de filtros que te permita seleccionar las taxonomías o bien puedes usar un widget de menú y crear un menú con las taxonomías… hay varias formas de hacerlo, también enlazando con parámetros de URL (Es complicado de explicar, tal vez si algún día saco tiempo hago un post sobre esto, no será en breve).
La mejor forma sin duda es usar el plugin FacetWP es de pago pero es el mejor que hay para filtros en Woocommerce.
Espero haberte ayudado.
Muchas gracias por el articulo, me ha servido mucho. Realice todo el proceso, pero aun no como puedo lograr que la taxonomia creada, quede junto con las ya existente del producto. es decir junto con Etiquetas, categorias, sku. Me puedes explicar como hacerlo?
Hola, he puesto nuevas taxonomías como lo comentas arriba, pero el h1 viene como archive y no se como cambiarlo
Hola Miguel Angel,
Una vez creado esta nueva taxamonia, en posible importar las taxamonias atraves de la API de WooCommerce tal y como se hace con las categorías.
Gracias.