Todos sabemos lo importante que es organizar el contenido en un sitio web. En WPBeginner, entendemos que usar categorías y subcategorías ayuda a los visitantes a explorar su sitio y mejora su clasificación en los resultados de búsqueda. Una buena estructura de categorías también ayuda a los visitantes a encontrar lo que necesitan.
La mayoría de los temas de WordPress mostrarán automáticamente todas las categorías asociadas con una publicación, incluso las subcategorías. Esto puede resultar muy confuso para sus visitantes. Sin embargo, recientemente tuvimos un lector que quería mostrar solo la categoría principal en su página de publicación individual. Querían que sus visitantes se centraran en el tema principal en lugar de sentirse abrumados por una gran cantidad de subcategorías.
En este artículo, le mostraremos cómo usar un simple fragmento de código para modificar la forma en que WordPress muestra las categorías. Esto le permitirá mostrar solo la categoría principal en una página de publicación individual, lo que puede mejorar enormemente la experiencia de su sitio para los visitantes.

Cuándo mostrar solo la categoría principal en WordPress
Muchos propietarios de sitios web utilizan categorías principales e infantiles para crear una estructura para sus sitios web.
Por ejemplo, un blog de viajes puede tener destinos de viaje organizados por categorías, donde cada región es una categoría principal y las ciudades son categorías infantiles.

De manera similar, un blog de comida puede publicar recetas organizadas en categorías padre e hijo. Por ejemplo, una categoría padre podría ser el tipo de cocina y una categoría hijo podría ser el tipo de platillo.
Ahora, la mayoría de los temas de WordPress utilizan la etiqueta de plantilla the_category() para listar todas las categorías asociadas con una publicación.
Esta función es eficiente, pero mostrará todas las categorías en orden alfabético e ignorará por completo la relación padre/hijo.
Dicho esto, veamos cómo cambiar este comportamiento y mostrar solo la categoría padre en el loop de WordPress.
Mostrar solo la categoría padre en el loop de publicaciones de WordPress
Para este tutorial, necesitarás editar los archivos de tu tema de WordPress. Si no lo has hecho antes, consulta nuestro artículo sobre cómo copiar y pegar fragmentos de código en WordPress.
Primero, necesitas agregar código al archivo functions.php de tu tema o usar un plugin de fragmentos de código. Recomendamos usar WPCode porque te permite agregar código sin romper tu sitio, y su validación inteligente de fragmentos de código te ayuda a prevenir errores comunes de código.
Obtén más información en nuestra guía sobre cómo agregar código personalizado en WordPress sin romper tu sitio.
Para este tutorial, usaremos la versión gratuita de WPCode. Si bien no tiene todas las funciones avanzadas de la versión completa, viene con todo lo que necesitas para empezar.
Lo primero que necesitas hacer es instalar y activar el plugin WPCode. Si necesitas ayuda, puedes seguir nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.
Tras la activación, puedes ir a la página WPCode » Nuevo Snippet

Esto abrirá una página donde puedes crear un snippet personalizado.
Primero, necesitas añadir un título para el snippet. Después de eso, puedes copiar y pegar el siguiente fragmento de código en el panel de Vista Previa del Código.
function wpb_get_parent_terms($taxonomy = 'category')
{
$currentPost = get_post();
$terms = get_the_terms($currentPost->ID, $taxonomy);
if (is_wp_error($terms)) {
/** @var \WP_Error $terms */
throw new \Exception($terms->get_error_message());
}
$map = array_map(
function ($term) use ($taxonomy) {
return '<a href="' . esc_url(get_term_link($term->term_id,
$taxonomy)) . '" title="' . esc_attr($term->name) . '">
' . $term->name . '
</a>';
},
array_filter($terms, function ($term) {
return $term->parent == 0;
})
);
return implode(', ', $map);
}

A continuación, debe seleccionar la opción ‘PHP Snippet’ del menú desplegable Tipo de código y activar el interruptor Inactivo a Activo.
Finalmente, asegúrese de hacer clic en el botón ‘Guardar Snippet’ para almacenar su configuración.

Este código simplemente crea una nueva función wpb_get_parent_terms(). Por defecto, esta función solo mostrará las categorías principales.
A continuación, debe colocar esta función en los archivos de su tema de WordPress donde desee mostrar solo la categoría principal.
Para averiguar qué archivo de plantilla debe consultar, consulte nuestra hoja de trucos sobre la jerarquía de plantillas de WordPress para principiantes.
Básicamente, buscará la etiqueta de plantilla the_category() dentro del bucle de WordPress. Una vez que la encuentre, deberá reemplazarla con el siguiente código:
<?php wpb_get_parent_terms(); ?>
Este código mostrará solo su categoría principal.
Si tiene varias categorías que son categorías principales o independientes, entonces todas esas categorías también se mostrarán.

El fragmento de código funcionará para todas las demás taxonomías. Por ejemplo, las categorías de productos de WooCommerce o cualquier taxonomía personalizada que pueda tener.
Simplemente modifique el código de esta manera:
<?php wpb_get_parent_terms( 'product_cat '); ?>
Este código mostrará las categorías de productos para una tienda de WooCommerce.
También solo mostrará las categorías principales o independientes para un producto.

Si desea mostrar una taxonomía personalizada, reemplace product_cat con el nombre de su taxonomía personalizada.
Guías Expertas sobre Cómo Mostrar Categorías en WordPress
Esperamos que este artículo le haya ayudado a aprender cómo mostrar solo la categoría principal para sus publicaciones de WordPress. También puede que desee ver otras guías relacionadas con la visualización de categorías de WordPress:
- Cómo mostrar solo la categoría hija en el bucle de publicaciones de tu WordPress
- Cómo mostrar subcategorías en las páginas de categoría en WordPress
- Cómo mostrar descripciones de categorías en WordPress
- Cómo cambiar el orden de las categorías en WordPress
- Cómo mostrar las publicaciones recientes de una categoría específica en WordPress
- Cómo mostrar/ocultar categorías en WordPress (Guía definitiva)
- Cómo mostrar categorías vacías en los widgets de WordPress
- Cómo dar estilo a categorías individuales de forma diferente en WordPress
- Cómo ocultar o estilizar tus subcategorías en WordPress
- Cómo agregar imágenes de taxonomía (iconos de categoría) en WordPress
Si te gustó este artículo, suscríbete a nuestro canal de YouTube para obtener tutoriales en video de WordPress. También puedes encontrarnos en Twitter y Facebook.


Davide
¡Genial! ¿Y si quiero dar un CSS diferente a estas categorías?
Pedrille
¡Impresionante! Gracias
Nithi
¿Cómo mostrar solo la categoría hija? (Como en la imagen, ¿“Tesis” arriba?)
Cami Tirapani
Me pregunto lo mismo. :/
Joseph
Sé que es antiguo, pero esa sería solo la categoría actual
sathish
muy útil
JordashTalon
Deberías votar a favor de esta publicación en Wordpress. He notado una gran falta de agregar la función de profundidad a las Funciones de Wordpress: http://wordpress.org/extend/ideas/topic/add-depth-parameter-to-the_category?replies=3#post-21041
JordashTalon
Funciones de categoría de Wordpress, eso es
Kate M
Didn’t work for me
AselHora
ponle marcas de fecha a tus publicaciones. de esta manera sabremos cuándo lo escribiste y no incluir fragmentos de código de hace 5 años.
John Saddington
¡gran tutorial!