Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Cómo crear taxonomías personalizadas en WordPress

Organizar el contenido de tu WordPress es fácil con categorías y etiquetas. Pero a veces, no son suficientes para organizarlo todo como quieres. Ahí es donde entran en juego las taxonomías personalizadas.

Con las taxonomías personalizadas, puedes crear tus propias formas de clasificar y agrupar el contenido. Esto te da más control y flexibilidad sobre cómo se clasifican tus entradas, productos o cualquier otro contenido.

En esta guía, le explicaremos cómo crear taxonomías personalizadas en WordPress, tanto si utiliza un plugin como si prefiere hacerlo manualmente.

How to create custom taxonomies in WordPress

¿Qué es una taxonomía de WordPress?

Una taxonomía de WordPress es una forma de organizar grupos de entradas y tipos de contenido personalizados.

Por defecto, WordPress viene con 2 taxonomías llamadas categorías y etiquetas. Puede utilizarlas para organizar las entradas de su blog.

Sin embargo, si utiliza un tipo de contenido personalizado, es posible que las categorías y etiquetas no se adapten a todo el contenido.

Por ejemplo, puede crear un tipo de contenido personalizado llamado ‘Libros’ y ordenarlo utilizando una taxonomía personalizada llamada ‘Temas’. A continuación, puede añadir términos de debate como “Aventura”, “Romance”, “Terror” y otros temas de libros que desee.

Esto le permitiría a usted y a sus lectores clasificar y filtrar fácilmente los libros por cada debate.

Las taxonomías también pueden ser jerárquicas, es decir, pueden tener temas principales o padres como “Ficción” y “No ficción”. Luego, habría subtemas, o hijos, dentro de cada categoría.

Por ejemplo, la categoría principal “Ficción” podría tener como hijos “Aventura”, “Romance” y “Terror”.

Ahora que ya sabe lo que es una taxonomía personalizada, aprendamos a crear taxonomías personalizadas en WordPress.

Aunque la creación de taxonomías personalizadas es potente, hay mucho que cubrir. Para ayudarle a establecer esto correctamente, hemos creado una fácil tabla de contenidos a continuación:

¿Preparados? ¡Primeros pasos!

Creación de taxonomías personalizadas con un plugin (de forma sencilla)

Lo primero que tienes que hacer es instalar y activar el plugin Custom Post Type UI. Para más detalles, consulta nuestra guía sobre cómo instalar un plugin de WordPress.

En este tutorial, ya hemos creado un tipo de contenido personalizado y lo hemos llamado ‘Libros’. Así que asegúrese de que tiene un tipo de contenido personalizado creado antes de empezar a crear sus taxonomías.

A continuación, vamos a dirigirnos a CPT UI ” Añadir/Editar Taxonomías en el área de administrador / administración de WordPress para crear su primera taxonomía.

Creating custom taxonomy using plugin

En esta pantalla, tendrá que hacer lo siguiente:

  • Cree su slug de taxonomía (esto irá en su URL)
  • Crear la etiqueta plural
  • Crear la etiqueta singular
  • Autocompletar etiquetas

El primer paso es crear un slug para la taxonomía que se utilizará en la URL y en las consultas de búsqueda de WordPress. Ten en cuenta que un slug solo puede contener letras y números, y se convertirá automáticamente a minúsculas.

A continuación, rellene los nombres en plural y singular de su taxonomía personalizada.

Desde ahí, tienes la opción de hacer clic en el enlace ‘Rellenar etiquetas adicionales basadas en las etiquetas elegidas’. Si lo hace, el complemento rellenará automáticamente el resto de los campos de las etiquetas.

Ahora, puede desplazarse hasta la sección “Etiquetas adicionales”.

En esta área, puede proporcionar una descripción de su tipo de contenido.

Labeling your WordPress taxonomy

Estas etiquetas se utilizan en su escritorio de WordPress cuando edita y gestiona el contenido de esa taxonomía personalizada en particular.

A continuación, tenemos la opción de ajustes. En esta área, puede establecer diferentes atributos para cada taxonomía que cree. Cada opción tiene una descripción que detalla lo que hace.

Create custom taxonomy hierarchy

En la captura de pantalla anterior, verá que hemos optado por jerarquizar esta taxonomía.

Esto significa que nuestra taxonomía “Temas” puede tener subtemas. Por ejemplo, un tema llamado “Ficción” puede tener subtemas como “Fantasía”, “Suspense”, “Misterio” y otros.

Hay muchos otros ajustes más abajo en la pantalla de su escritorio de WordPress, pero puede dejarlos como están para este tutorial.

Ahora puede hacer clic en el botón “Añadir taxonomía” de la parte inferior para guardar su taxonomía personalizada.

Después, puede editar el tipo de entrada asociada a esta taxonomía en el editor de contenido de WordPress para empezar a utilizarla.

Using taxonomy in post editor

Creación manual de taxonomías personalizadas (con código)

Este método requiere que añadas código a tu sitio web WordPress. Si no lo ha hecho antes, le recomendamos que lea nuestra guía sobre cómo añadir fácilmente fragmentos de código en WordPress.

No recomendamos editar directamente los archivos de WordPress porque cualquier pequeño error puede romper todo el sitio. Por eso recomendamos a todo el mundo que utilice WPCode, el plugin de fragmentos de código más fácil y seguro que existe.

Para empezar, tendrás que instalar y activar el plugin gratuito WPCode. Para obtener instrucciones detalladas, consulte nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.

1. Creación de una taxonomía jerárquica

Empecemos con una taxonomía jerárquica que funciona como categorías y puede tener términos padres e hijos.

Una vez que haya instalado y activado WPCode, puede navegar a Fragmentos de código ” Añadir fragmento en su escritorio de WordPress.

Desde aquí, puede pasar el ratón por encima de “Añadir su código personalizado (nuevo fragmento)” y hacer clic en “Usar fragmento”.

Add a new custom snippet in WPCode

A continuación, accederá a la página “Crear fragmento de código personalizado”.

Simplemente asigne un nombre a su nuevo fragmento de código y pegue el siguiente código en el área de texto:

//hook into the init action and call create_book_taxonomies when it fires
 
add_action( 'init', 'create_subjects_hierarchical_taxonomy', 0 );
 
//create a custom taxonomy name it subjects for your posts
 
function create_subjects_hierarchical_taxonomy() {
 
// Add new taxonomy, make it hierarchical like categories
//first do the translations part for GUI
 
  $labels = array(
    'name' => _x( 'Subjects', 'taxonomy general name' ),
    'singular_name' => _x( 'Subject', 'taxonomy singular name' ),
    'search_items' =>  __( 'Search Subjects' ),
    'all_items' => __( 'All Subjects' ),
    'parent_item' => __( 'Parent Subject' ),
    'parent_item_colon' => __( 'Parent Subject:' ),
    'edit_item' => __( 'Edit Subject' ), 
    'update_item' => __( 'Update Subject' ),
    'add_new_item' => __( 'Add New Subject' ),
    'new_item_name' => __( 'New Subject Name' ),
    'menu_name' => __( 'Subjects' ),
  );    
 
// Now register the taxonomy
  register_taxonomy('subjects',array('books'), array(
    'hierarchical' => true,
    'labels' => $labels,
    'show_ui' => true,
    'show_in_rest' => true,
    'show_admin_column' => true,
    'query_var' => true,
    'rewrite' => array( 'slug' => 'subject' ),
  ));
 
}

Asegúrese de cambiar el “Tipo de código” a “Fragmento de código PHP” y de activar el conmutador.

A continuación, puedes seguir adelante y hacer clic en “Guardar fragmento de código”.

Add custom taxonomy with WPCode

No olvide sustituir el nombre de la taxonomía y las etiquetas del fragmento de código por sus propias etiquetas de taxonomía. También te darás cuenta de que esta taxonomía está asociada con el tipo de contenido Libros. Tendrás que cambiarla por el tipo de contenido con el que quieras utilizarla.

A continuación, desplácese hacia abajo y asegúrese de que las opciones “Insertar automáticamente” y “Ejecutar en todas partes” están seleccionadas en el cuadro Inserción.

WPCode Run Everywhere

Una vez hecho esto, puede desplazarse a la parte superior y hacer clic en el botón “Actualizar” para aplicar los cambios.

2. Creación de una taxonomía no jerárquica

Para crear una taxonomía personalizada no jerárquica como las etiquetas, utilizará WPCode y seguirá exactamente los mismos pasos que arriba.

Solo, usarás este código en su lugar:

//hook into the init action and call create_topics_nonhierarchical_taxonomy when it fires
 
add_action( 'init', 'create_topics_nonhierarchical_taxonomy', 0 );
 
function create_topics_nonhierarchical_taxonomy() {
 
// Labels part for the GUI
 
  $labels = array(
    'name' => _x( 'Topics', 'taxonomy general name' ),
    'singular_name' => _x( 'Topic', 'taxonomy singular name' ),
    'search_items' =>  __( 'Search Topics' ),
    'popular_items' => __( 'Popular Topics' ),
    'all_items' => __( 'All Topics' ),
    'parent_item' => null,
    'parent_item_colon' => null,
    'edit_item' => __( 'Edit Topic' ), 
    'update_item' => __( 'Update Topic' ),
    'add_new_item' => __( 'Add New Topic' ),
    'new_item_name' => __( 'New Topic Name' ),
    'separate_items_with_commas' => __( 'Separate topics with commas' ),
    'add_or_remove_items' => __( 'Add or remove topics' ),
    'choose_from_most_used' => __( 'Choose from the most used topics' ),
    'menu_name' => __( 'Topics' ),
  ); 
 
// Now register the non-hierarchical taxonomy like tag
 
  register_taxonomy('topics','books',array(
    'hierarchical' => false,
    'labels' => $labels,
    'show_ui' => true,
    'show_in_rest' => true,
    'show_admin_column' => true,
    'update_count_callback' => '_update_post_term_count',
    'query_var' => true,
    'rewrite' => array( 'slug' => 'topic' ),
  ));
}

Observe la diferencia entre los dos fragmentos de código. En la función register_taxonomy( ), el valor del argumento jerárquico se establece en true para la taxonomía tipo categoría y en false para las taxonomías tipo etiqueta.

Además, en el array de etiquetas para taxonomías no jerárquicas, hemos añadido null para los argumentos parent_item y parent_item_colon, lo que significa que no se mostrará nada en la interfaz de usuario para crear un elemento / artículo padre o una taxonomía que pueda tener subtemas.

Taxonomies in post editor

De nuevo, asegúrese de editar el código para incluir sus propias etiquetas de taxonomía personalizadas.

Visualización de taxonomías personalizadas

Ahora que hemos creado taxonomías personalizadas y hemos añadido algunos términos, su tema de WordPress seguirá sin mostrarlos.

Para mostrarlos, deberá añadir código a su tema o tema hijo de WordPress. En concreto, este código debe añadirse a los archivos de plantilla en los que desee mostrar los términos.

Puedes añadir manualmente este fragmento de código a los archivos de tu tema, como single.php, content.php, archive.php o index.php. Para averiguar qué archivo necesitas editar, puedes consultar nuestra guía sobre la jerarquía de plantillas de WordPress para obtener instrucciones paso a paso.

Sin embargo, si no se hace correctamente, esto puede romper su sitio, por lo que una vez más recomendamos el uso de la libre WPCode plugin.

Tendrás que añadir el siguiente código donde quieras que aparezcan los términos:

<?php the_terms( $post->ID, 'topics', 'Topics: ', ', ', ' ' ); ?>

A continuación, sólo tienes que seguir los pasos anteriores para pegar el fragmento de código en WPCode.

Pero en Inserción, debe hacer clic en el menú desplegable junto a “Ubicación” y seleccionar dónde desea mostrar la taxonomía, como antes de la entrada, después de ella, o incluso entre párrafos.

WPCode Insertion box

Para este tutorial, seleccionaremos ‘Insertar después de la entrada’.

En la siguiente imagen puede ver cómo aparecerá en su sitio activo.

Custom Taxonomy Displayed

Añadir taxonomías para entradas personalizadas

Ahora que ya sabe cómo crear taxonomías personalizadas, pongámoslas en práctica con un ejemplo.

Vamos a crear una taxonomía y llamarla ‘No ficción’. Como tenemos un tipo de contenido personalizado llamado “Libros”, es similar a cómo se crea una entrada de blog normal.

En su escritorio de WordPress, puede navegar a Libros ” Temas para añadir un término o tema.

Adding a term for your newly created custom taxonomy

En esta pantalla, verás 4 áreas:

  • Nombre
  • Slug
  • Padres
  • Descripción

En el campo del nombre, escriba el término que desea añadir. Puede omitir la parte del slug y proporcionar una descripción para este término en particular.

Por último, haga clic en el botón “Añadir nuevo tema” para crear su nueva taxonomía.

El término recién añadido debería aparecer en la columna de la derecha.

Term added

Ahora tiene un nuevo término que puede utilizar en las entradas de su blog. También puede añadir términos directamente mientras edita o escribe contenido bajo ese tipo de entradas en particular.

Sólo tiene que ir a Libros ” Añadir nuevo para crear una entrada.

En el editor de entradas, encontrarás la opción de seleccionar o crear nuevos términos en la columna de la derecha.

Adding new terms or select from existing terms

Después de añadir los términos, puede seguir adelante y publicar ese contenido.

Todas sus entradas archivadas bajo ese término serán accesibles en su sitio web utilizando su propia URL. Por ejemplo, las entradas archivadas bajo el tema “Ficción” aparecerían en la siguiente URL:

https://example.com/subject/fiction/

Taxonomy template preview

Ahora que ha creado taxonomías personalizadas, es posible que desee mostrarlas en el menú de navegación de su sitio web.

Deberá dirigirse a Apariencia ” Menús y seleccionar los términos que desea añadir en la pestaña de taxonomía personalizada que aparece en la parte izquierda de la pantalla.

Adding terms to navigation menu

No olvides hacer clic en el botón “Guardar menú” para guardar tus ajustes.

Ahora puede visitar su sitio web para ver su menú en acción.

Adding custom taxonomy in navigation menu

Para más detalles, puede consultar nuestra guía paso a paso sobre cómo crear un menú desplegable en WordPress.

Tutorial en vídeo

Si prefiere ver y aprender a crear taxonomías personalizadas, compruebe nuestro tutorial en vídeo:

Subscribe to WPBeginner

Bonificación: Profundizar en las taxonomías de WordPress

Las taxonomías personalizadas te permiten hacer montones de cosas. Por ejemplo, puede mostrarlas en un widget de la barra lateral o añadir iconos de imagen para cada término.

También puede para taxonomías personalizadas y permitir que los usuarios se suscriban a términos individuales. De este modo, sus lectores solo recibirán actualizaciones acerca del contenido específico que les interese.

Si desea personalizar la disposición de sus páginas de taxonomía personalizada, entonces usted puede comprobar fuera SeedProd. Es el mejor editor de arrastrar y soltar página de WordPress y constructor tema que le permite crear disposiciones personalizadas sin ningún código.

Select three column layout

Para obtener más información, puede comprobar nuestro artículo sobre cómo crear una página personalizada en WordPress.

Esperamos que este artículo te haya ayudado a aprender cómo crear taxonomías personalizadas en WordPress. Puede que también quieras ver nuestras guías sobre cómo añadir imágenes de taxonomía (iconos de categoría) en WordPress y cómo cambiar, mover y borrar correctamente las categorías de WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Descargo: Nuestro contenido está apoyado por los lectores. Esto significa que si hace clic en algunos de nuestros enlaces, podemos ganar una comisión. Vea cómo se financia WPBeginner , por qué es importante, y cómo puede apoyarnos. Aquí está nuestro proceso editorial .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

El último kit de herramientas de WordPress

Obtenga acceso GRATUITO a nuestro kit de herramientas - una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Reader Interactions

111 comentariosDeja una respuesta

  1. Jiří Vaněk

    Thank you for the clear instructions. I would like to make my own taxonomy for tutorials on the site. This tutorial is great and clear, thanks.

    • WPBeginner Support

      Glad it was helpful :)

      Administrador

  2. Kira

    Hello.
    I don’t understand this part:

    ID, ‘topics’, ‘Topics: ‘, ‘, ‘, ‘ ‘ ); ?>

    I mean, should I paste exactly that part into my loop-single.php?
    I’m using a taxonomy called “writer”

    • WPBeginner Support

      It would depend on where you want to display the terms, normally it would be added to the single.php.

      Administrador

  3. Wolfgang

    Hi,
    I used your article to create a CPT with a hierarchical and a non-hierarchical taxonomy attached to it. I created a few entries and it all seems to be working fine. Both taxonomies display fine in their respective archive pages. One thing I noticed though when I tried to add the taxonomies to the menu was that the non-hierarchical taxonomy was available in the “Add menu item” column but the hierarchical taxonomy was NOT.
    Is that an expected behavior? If not what could be going wrong?
    Thanks

    • WPBeginner Support

      The most common issues you could check would be that you have published content in the taxonomy and you may want to test adding a different content type to test if it is an issue with the taxonomy or something else.

      Administrador

  4. mb

    what does this line do
    ‘menu_name’ => __( ‘Subjects’ ),

    is this in order to add taxonomies to the menu

  5. aditya

    hii i try everything but i taxonomy not showing in product. please help me.

    • WPBeginner Support

      You would want to check under your preferences to ensure it is not hidden for your user.

      Administrador

  6. Gina Wilson

    This tutorial and specifically the part of how to display the custom taxonomy was a lifesaver! I’m very much a beginner and this was very helpful in understanding where I went wrong in my coding.

    Thank you!!!

    • WPBeginner Support

      Glad our guide was helpful :)

      Administrador

  7. fengquanli

    this is very confident with the custom post ui, thanks very much ,it’s very useful for get them.

    • WPBeginner Support

      Glad our guide was helpful :)

      Administrador

  8. Bruno Oliveira

    Awesome tutorial! i have one question. how do i use my new taxonomy slug as permalink like category (/%category%/%year%/%monthnum%/%day%/%postname%/)

    I want something like /%custom_taxonomy%/%year%/%monthnum%/%day%/%postname%/

    i keep getting 404 error

    • WPBeginner Support

      That is not something WordPress would allow by default and would require some custom coding to set up.

      Administrador

  9. vikas

    i tried the plugin method , it sucessfully created a new category in custom post type but it is not showing on my posts like tags and other categoties. can you help me with that?

    • WPBeginner Support

      You would want to reach out to the support for your specific theme for customizing the display to include your taxonomy.

      Administrador

  10. Richard

    I am creating a podcast network where I have multiple podcasts on a single site with episodes under each individual podcast. Would something like this work for that? I really don’t want to go the multi site route.

    • WPBeginner Support

      You can certainly use this should you want or another option would be to create a custom post type depending on your preference.

      Administrador

  11. Maria

    Hello is possible add the custom taxonomies to a custom product type?

    I create a custom product call drinks and i have several taxonomies like country, material and etc

    I want when the user click in drinks then only apperas those taxonomies, is this posiible?

    • WPBeginner Support

      You should be able to using the plugin method.

      Administrador

  12. Parveen Kaushik

    Hi,
    Thanks for this article, I am getting 404 page after using this code, can you help me

    • WPBeginner Support

      If you haven’t done so yet, resave your permalinks for the most common solution :)

      Administrador

  13. Mike Smith

    this code works great on my site for work. Can you tell me how to add the custom taxonomy into the site’s rss feed?

  14. angela

    thank you for taking the time to post this, this was the first site that actually explained this and it made sense, haha. im a happy camper now

    • WPBeginner Support

      You’re welcome, glad our guide could help simplify the process :)

      Administrador

  15. Jem

    How to show custom taxonomy (checkbox list) in Post editor page like category and tag?

    • WPBeginner Support

      It would depend on which method you used to create the custom taxonomy, if you’re using the plugin you would want to reach out to the plugin’s support to make sure they have show_in_rest set to true for seeing it in the block editor.

      Administrador

      • Jem

        No, I am not using any plugin. I have just copy paste your snippet. Its create new taxonomy. But it is not display in post editor page like category, tags display on rightside panel.

        Can you please guide me how can I show custom taxonomy in post editor page?

        • WPBeginner Support

          In the register_taxonomy array, you would want to first try adding a new line with the code below:
          ‘show_in_rest’ => true,

  16. Jim Gersetich

    The first half of this post is completely useless. the Simple Taxonomy plugin doesn’t work with the current WordPress version, and it hasn’t been updated in four years.

    Please try to find another plugin and change that section to go with the new one.

    • WPBeginner Support

      Thank you for letting us know, we’ll certainly take a look at updating this article.

      Administrador

Deja tu comentario

Gracias por elegir dejar un comentario. Tenga en cuenta que todos los comentarios son moderados de acuerdo con nuestros política de comentarios, y su dirección de correo electrónico NO será publicada. Por favor, NO utilice palabras clave en el campo de nombre. Tengamos una conversación personal y significativa.