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.
¿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.
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.
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.
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.
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”.
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”.
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.
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.
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.
Para este tutorial, seleccionaremos ‘Insertar después de la entrada’.
En la siguiente imagen puede ver cómo aparecerá en su sitio activo.
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.
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.
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.
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/
Añadir taxonomías personalizadas al menú de navegación
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.
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.
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:
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.
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.
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
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
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
mb
what does this line do
‘menu_name’ => __( ‘Subjects’ ),
is this in order to add taxonomies to the menu
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
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
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
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
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
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
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
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
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?
WPBeginner Support
It would depend on what you are looking for, for a starting point you would want to take a look at our article below:
https://www.wpbeginner.com/wp-tutorials/how-to-make-a-separate-rss-feed-for-each-custom-post-type-in-wordpress/
Administrador
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
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,
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