Crear nuevas taxonomías para Woocommerce

Crear taxonomias nuevas en woocommerce
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:

Crear taxonomias en wordpress

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é:

generador de taxonomias de wordpress

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!

añadir taxonomia a woocommerce

Ahora podremos crear colecciones:

añadir-taxonomia-woocommerce-2

Y después dentro de los productos asignarles cada colección, como si de una categoría se tratase:

añadir-taxonomia-woocommerce-3

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

seo en wontalia

9 Comments

  1. Alejandro abril 17, 2015 Responde
    • Miguel Angel Perez abril 17, 2015 Responde
    • Miguel Angel Perez abril 17, 2015 Responde
  2. Mikel agosto 2, 2015 Responde
    • Miguel Angel Perez agosto 6, 2015 Responde
  3. Catalina septiembre 5, 2017 Responde
    • Miguel Ángel septiembre 9, 2017 Responde
  4. Anibal junio 20, 2019 Responde
    • Miguel Ángel junio 20, 2019 Responde

Leave a Reply

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.