Crear taxonomías personalizadas en WordPress

Contents

Crear taxonomías personalizadas en WordPress

Las taxonomías en WordPress son sistemas de clasificación que ayudan a organizar el contenido de forma lógica y accesible. Aunque WordPress incluye taxonomías predeterminadas como Categorías y Etiquetas, crear taxonomías personalizadas permite adaptar la estructura de tu sitio para necesidades específicas: desde un catálogo de productos hasta un portafolio de proyectos.

¿Qué es una taxonomía personalizada

Una taxonomía personalizada es un tipo de clasificación que defines tú mismo a través de código o plugins. Te permite agrupar entradas o contenido personalizado (Custom Post Types) en categorías diseñadas a tu medida. Por ejemplo, en un sitio de reseñas de películas, podrías crear taxonomías como Géneros, Directores o Añada.

Ventajas de usar taxonomías personalizadas

  • Flexibilidad: Organiza el contenido según criterios propios.
  • Usabilidad: Facilita la navegación y búsqueda para el usuario.
  • SEO: Mejora la estructura y enlazado interno, optimizando el posicionamiento.
  • Mantenimiento: Permite adaptar tu CMS a requerimientos futuros sin sobrecargar categorías genéricas.

Tipos de taxonomías

Característica Jerárquica No jerárquica
Ejemplos predeterminados Categorías Etiquetas
Estructura Padre-hijo Plano (sin jerarquía)
Uso recomendado Clasificaciones amplias y anidadas Etiquetas y palabras clave

Registro de una taxonomía personalizada

La forma más común de registrar una taxonomía es mediante la función register_taxonomy() en el archivo functions.php de tu tema o, mejor aún, en un plugin específico. A continuación, un ejemplo sencillo:


add_action(init, crear_taxonomia_genero, 0)
function crear_taxonomia_genero() {
  labels = array(
    name              => Géneros,
    singular_name     => Género,
    search_items      => Buscar Géneros,
    all_items         => Todos los Géneros,
    parent_item       => Género Padre,
    parent_item_colon => Género Padre:,
    edit_item         => Editar Género,
    update_item       => Actualizar Género,
    add_new_item      => Añadir Nuevo Género,
    new_item_name     => Nombre del Nuevo Género
  )
  args = array(
    labels            => labels,
    hierarchical      => true,  // true para jerárquica
    public            => true,
    show_ui           => true,
    show_in_rest      => true,  // Soporte Gutenberg
    rewrite           => array(slug => genero),
    capabilities      => array(), // Personalizar si es necesario
    show_admin_column => true
  )
  register_taxonomy(genero, array(post), args)
}
  

Parámetros principales

  • hierarchical: Define si la taxonomía admite jerarquías.
  • labels: Array de etiquetas para el dashboard.
  • public: Controla la visibilidad pública.
  • show_in_rest: Habilita la compatibilidad con el editor de bloques.
  • rewrite: Ajusta la URL base de la taxonomía.
  • capabilities: Permite configurar permisos personalizados.
  • show_admin_column: Muestra la columna en el listado de posts.

Buenas prácticas y consejos

1. Usar prefijos únicos

Para evitar colisiones, agrega prefijos al nombre de la taxonomía y a la función. Por ejemplo, mi_tema_genero.

2. Revisar enlaces permanentes

Después de registrar la taxonomía, accede a Ajustes → Enlaces permanentes y guarda los cambios para actualizar las reglas de reescritura.

3. Compatibilidad con REST API

Si usas Gutenberg o desarrollas una aplicación externa, siempre establece show_in_rest => true.

4. Rendimiento y caché

Para sitios con gran volumen de contenido, considera usar caché de objetos y limitar las consultas directas a taxonomías.

Mostrar taxonomías en el theme

Para mostrar términos de una taxonomía en el front-end se usan funciones como:

  • get_the_terms()
  • the_terms()
  • wp_list_categories() (cuando hierarchical es true)

Ejemplo simple:


terms = get_the_terms(get_the_ID(), genero)
if (terms  !is_wp_error(terms)) {
  echo ltul class=lista-generosgt
  foreach (terms as term) {
    echo ltligtlta href= . esc_url(get_term_link(term)) . gt . esc_html(term->name) . lt/agtlt/ligt
  }
  echo lt/ulgt
}
  

Recursos recomendados

Conclusión:

Las taxonomías personalizadas son una herramienta esencial para adaptar WordPress a cualquier proyecto. Con una correcta definición y buenas prácticas, mejorarás la organización del contenido, la experiencia de usuario y la escalabilidad de tu sitio.



Acepto donaciones de BAT's mediante el navegador Brave 🙂



Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *