WordPress – Cómo incluir otro tipo de categoría taxonomía

A colación del otro post que cree hablando de “Cómo incluir otro tipo de post” diferente al los que hay por defecto necesité después ser capaz de categorizarlos, y para eso necesité informarme acerca de las taxonomías (vaya palabro)

Pero… ¿qué es una taxonomía?

Pues básicamente es una forma de agrupar determinados elementos juntos. En wordpress, es un mecanismo para agrupar algunos posts (o links o tipos de posts a medida como el que hicimos).

Existen ya algunas taxonomías creadas por defecto, que serían:

  • Category: Agrupar post (de tipo ‘post’)
  • Tag: Es como las categorías pero dando una mayor libertad.
  • Link Category: Es para categorizar los links.
  • Post Formats: Vale para ser usados por los temas, pero no podemos crearlos a voluntad como los otros.

En nuestro caso vamos a registrar una nueva taxonomía y asociarla al tipo de post que hicimos anteriormente mediante este código (incluido en el functions.php de un template que estamos usando):

add_action( 'init', 'create_web_taxonomies', 10, 0 );

function create_web_taxonomies() {
  // create a new taxonomy
  register_taxonomy(
    'cursos_category',
    array('cursos'),
    array(
      'labels' => array(
        'name' => __( 'Categorías de cursos' ),
        'singular_name' => __( 'Categoría de curso' ),
        'edit_item' => __( 'Editar curso' ),
        'add_new_item' => __( 'Añadir nuevo curso' ),
        'search_items' => __( 'Buscar cursos' )
      ),
      'public' => true,
      'hierarchical' => true,
      //'rewrite' => array( 'slug' => 'secciones_cursos' )
    )
  );
}

Ya con eso automáticamente nos apareció cuando pasábamos por “curso” un apartado Categoría del Curso, y cuando editábamos un curso nos permitía seleccionar la categoría del curso a la que pertenecía dicho curso.

Hay más información de Taxonomías en este link.