Tecnología y Coaching para Emprendedores

Tutorial con Ejemplos sobre las Taxonomías en WordPress 3.0

wordpress

En este post vamos a profundizar en el enorme potencial que nos ofrecen las taxonomías cara a organizar los contenidos web cara a una excelente arquitectura de la información. Aprende con este tutorial que son las taxonomías, para que sirven y cómo crearlas y usarlas en WordPress 3.0.

Qué son las taxonomías de WordPress

Las taxonomías son una manera de clasificar la información en WordPress. Para hacer fácil lo difícil, en este tutorial aprenderemos a utilizar las taxonomías con un ejemplo. Suponemos que vamos a crear un sitio web sobre libros. Las categorías de WordPress nos permiten clasificarlos en libros de texto, diccionarios, novelas, etc. Incluso podemos crear subcategorías:

  • Libros de Texto
    • Primaria
    • Secundaria
    • Bachilerato
      • Matemáticas
      • Física

Pero, y si además los queremos clasificar por editorial o por autor? Si creamos categorías para todo, al final tenemos un pupurri increíble que no nos facilita nada la organización de la información en el sitio. Aquí entran en juego las taxonomías.

Breve historia de las taxonomías en WordPress

Antes de la versión 2.3 sólo existían las Categorías de WordPress. Así, si queríamos clasificar los libros por tipo de libro y por editorial, teníamos que asignarles dos categorías diferentes. Si además también los queríamos clasificar por año de publicación, una categoría más, etc. Así, la taxonomía general era Categorías:

taxonomias wordpress

A partir de la versión 2.3, WordPress introdujo el concepto de Etiquetas, lo que permitía especificar más el contenido. Así, una novela podía ser de suspense y añadir etiquetas que la definieran:

En la versión 2.8, WordPress permitió que el usuario pudiera crear sus propias taxonomías añadiendo un poco de código en el archivo functions.php. Con un poco de código, podemos ahora crear dos taxonomías nuevas: Editorial y Autor:

taxonomias wordpress

Así, ahora a cada entrada, podemos asignarle una categoría, como Novela o Texto, unas etiquetas, como memorable, best seller y también una editorial y un autor. Como vemos, las taxonomías nos facilitan enormemente la tarea de clasificar los contenidos en WordPress.

Cómo crear taxonomías en WordPress

Una vez sabemos que es una taxonomía y para que sirve, veamos como crearlas e implementarlas en WordPress. Primero de todo, tendremos que editar nuestro archivo functions.php y añadir el siguiente código:

function crea_mis_taxonomias() {  
   register_taxonomy('editorial', 'post', array( 'hierarchical' => false, 'label' => 'Editorial',    'query_var' => true, 'rewrite' => true));
   register_taxonomy('autor', 'post', array( 'hierarchical' => false, 'label' => 'Autor',    'query_var' => true, 'rewrite' => true));
} 
add_action('init', 'crea_mis_taxonomias', 0);

Este código crea e inicializa una función llamada crea_mis_taxonomias. En ella se indica que registre dos taxonomías, una con el tag editorial y el nombre Editorial y otra con el tag autor y el nombre Autor. Una vez hecho esto, al entrar en nuestro panel de administración veremos que se han añadido las pestañas Editorial y Autor dentro de Entradas.Para saber más sobre la función register_taxonomy, os recomendamos el artículo sobre register_taxonomy del Codex de WordPress (en inglés).

Añadir Clasificaciones a las Taxonomías Creadas

Una vez creada la taxonomía, para añadir nuevos elementos de clasificación, es tan fácil como ir a Entradas –> Taxonomía e introducir un nombre para la misma y pulsar “Añadir nueva etiqueta”. En este ejemplo, hemos creado tres clasificaciones dentro de la taxonomía Editorial: Marcombo, Santillana y Planeta:

taxonomias wordpress

Así, si queremos ver las entras para la editorial Santillana, iremos a esta URL:

http://misitioweb.com/editorial/santillana

Crea un loop que muestre los artículos de una determinada clasificación

Pongamos que queremos crear nuestro propio loop personalizado en que se muestren las entradas que tengan como editorial a Marcombo. Creamos una página marcombo.php en la que ponemos esto arriba del todo:

/*Template Name: Marcombo */

Seguidamente vamos al panel de administración de WordPress, añadimos nueva página y antes de dar a guardar, nos aseguramos que dentro de Atributos de Página seleccionamos Marcombo como Plantilla.

taxonomias wordpress

Una vez creada la página, hemos de iniciar el loop de WordPress, si no has oído antes hablar del loop, te recomendamos esta introducción al loop de WordPress. Aquí vamos a ver como mostramos las entradas de la editorial Marcombo:

<?php query_posts(array('editorial' => 'marcombo', 'showposts' => 10)); ?>

La parte de showposts indica que muestre 10 entradas, y editorial está apuntando a marcombo, si queremos las entradas de, por ejemplo, planeta, modificaremos el nombre:

<?php query_posts(array('editorial' => 'marcombo', 'showposts' => 15)); ?>

En este caso se muestran 15 entradas en total.

Mostrar la clasificación de la taxonomía

Para mostrar la editorial o el autor de una entrada, necesitamos este código PHP:

// Muestra la editorial de la entrada
 <?php echo get_the_term_list( $post->ID, 'editorial'); ?> 
// Muestra el autor de la entrada
 <?php echo get_the_term_list( $post->ID, 'autor'); ?> 

Así, si la entrada está clasificada dentro de Marcombo, veremos Marcombo cuando hagamos echo a la editorial.

Para los que os hagáis quedado con ganas de más, os recomiendo el artículo Introducing WordPress 3 Custom Taxonomies.


Comentarios

  • dinko

    gracias, me sorprende que nadie te escriba en los artículos gracias!!!

    • Sandra

      sí, imagino que he de trabajar más el SEO del blog :-)

  • Carmen

    Hola! tengo una pregunta que no se cómo lograr exponer. Estoy trabajando en un nuevo wordpress, pero la plantilla usada simplekey no me lo está poniendo nada fácil.
    Tengo varias entradas creadas, pero no logro asociarlo a la página blog y es que en atributos de página no me aparece”blog” en si.

    Cómo puedo crear un atributo de página “blog”.

    P.D.: Aviso que soy muy nueva en el tema de código XC

    Gracias por tu tiempo!!!

  • Mario Guzmán

    Hola Sandra,

    Acabo de descubrir tu web gracias al #designIO de desarrolloweb.com, y me ha encantado, no hay apenas webs que escriban sobre WordPress en castellano.

    Concretamente este artículo sobre taxonomías es algo que quería hacer hace tiempo que no había mirado aún, ¡muchísimas gracias!

    • Sandra

      Hola Mario, me alegro que te haya sido útil! Te recomiendo apuntarte a la newsletter para estar al día de lo que pasa aquí en CreativaSfera.