WordPress.org

Codex

es:Taxonomías Personalizadas

Contents

Qué es una taxonomía?

«Taxonomía» es una de esas palabras que la mayoría de la gente nunca escucha o usa. Básicamente, una taxonomía es una forma de agrupar cosas juntas.

Por ejemplo, puedo tener un montón de tipos diferentes de animales. Puedo agruparlos de acuerdo a varias características y luego asignar nombres a esos grupos. Esto es algo que la mayoría de la gente encuentra en las clases de biología y es conocido como la Taxonomía de Linneo.

En WordPress, una «taxonomía» es un mecanismo para agrupar ciertas entradas o links.

Taxonomías Predeterminadas

WordPress tiene tres taxonomías predeterminadas que probablemente ya hayas usado.

Categoría

La taxonomía 'category' (tal es su nombre interno en WordPress y por eso la nombraremos así) te permite agrupar entradas ordenándolas en varias categorías. Estas categorías pueden luego ser vistas en el sitio usando URLs del tipo /category/nombre. Las categorías tienden a ser predefinidas y abarcar un amplio rango.

Etiqueta

La taxonomía 'post_tag' es similar a la de las categorías pero más abierta. Las etiquetas pueden ser creadas en el momento, simplemente tipeando su nombre. Pueden ser vistas en el sitio con URLs del tipo /tag/nombre. Las entradas tienden a tener muchas etiquetas, y generalmente se muestran cerca de las entradas o en forma de nubes de etiquetas.

Categorías de links

La taxonomía 'link_category' te permite categorizar tus enlaces. Tienden a ser usados sólo internamente, razones organizacionales, y no son usualmente expuestos en el sitio. Son convenientes para definir grupos de enlaces a mostrar en las barras laterales o el pié de sitio.

Taxonomías Personalizadas

Ya desde la WordPress 2.3, puedes crear tus propias taxonomías pero éstas han sido una característica de WordPress raramente usada hasta la versión 2.9. En verdad, son una forma extremadamente poderosa de agrupar varios items en diversas formas.

Ejemplo

El plugin Matt's Community Tags usa las taxonomías para definir «gente» como una taxonomía para adjuntos. Él la emplea para permitir a la gente marcar los nombres de las personas en las imágenes, y usando eso su sitio puede mostrar imiágenes de gente bajo la URL /person/nombre.

Registrando una taxonomía

Para registrar una taxonomía, usa la función register_taxonomy().

Aquí hay un ejemplo de registrar una taxonomía de «gente»:

function gente_init() {
  // create a new taxonomy
  register_taxonomy(
    'gente',
    'post',
    array(
      'label' => __('Gente'),
      'sort' => true,
      'args' => array('orderby' => 'term_order'),
      'rewrite' => array('slug' => 'persona'),
    )
  );
}
add_action( 'init', 'gente_init' );

Aquí, la taxonomía «gente» es definida. Se determina que trabajará con posts, y se define un slug de reescritura para que la URL sea /persona/ en vez de /gente/.