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 mostrar solo la categoría principal en el bucle de entradas de WordPress

Nota editorial: Ganamos una comisión de los enlaces de socios en WPBeginner. Las comisiones no afectan a las opiniones o evaluaciones de nuestros editores. Más información sobre Proceso editorial.

¿Desea mostrar solo la categoría principal de sus entradas en WordPress?

Por defecto, la mayoría de los temas de WordPress mostrarán todas las categorías asociadas a una entrada. Sin embargo, es posible que algunos usuarios solo quieran mostrar la categoría principal y excluir las categorías secundarias.

En este artículo, le mostraremos cómo modificar el bucle de entradas de WordPress para mostrar solo la categoría principal en una sola entrada.

Displaying only the parent category in WordPress loop

Cuándo mostrar solo la categoría principal en WordPress

Muchos propietarios de sitios web utilizan categorías principales y secundarias para estructurar sus sitios web.

Por ejemplo, un blog de viajes puede tener destinos organizados por categorías en las que cada región es una categoría principal y las ciudades son categorías secundarias.

Parent and child categories displayed

Del mismo modo, 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 hija podría ser el tipo de plato.

Ahora, la mayoría de los temas de WordPress utilizan la etiqueta de plantilla_category () para listar todas las categorías asociadas a una entrada.

Esta función es eficiente, pero mostrará todas las categorías alfabéticamente e ignorará por completo la relación padre/hijo.

Dicho esto, echemos un vistazo a cómo cambiar este comportamiento y mostrar solo la categoría padre en el bucle de WordPress.

Mostrar solo la categoría principal en el bucle de entradas de WordPress

Para este tutorial, necesitará editar los archivos de su tema de WordPress. Si no has hecho esto antes, entonces marca / comprueba nuestro artículo sobre cómo copiar y pegar fragmentos de código en WordPress.

En primer lugar, debe añadir el siguiente código al archivo functions. php de su tema o utilizar un plugin de fragmentos de código como WPCode (recomendado):

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);
}

Para más detalles, consulte nuestra guía sobre cómo añadir código personalizado en WordPress sin romper su sitio.

Este código simplemente crea una nueva función wpb_get_parent_terms(). Por defecto, esta función solo mostrará las categorías padre.

A continuación, debe colocar esta función en los archivos de su tema de WordPress donde desee mostrar sólo la categoría principal.

Para averiguar en qué archivo de plantilla debe fijarse, consulte nuestra hoja de trucos para principiantes sobre la jerarquía de plantillas de WordPress.

Básicamente, estará buscando la etiqueta de plantilla the_category(); dentro del bucle de WordPress. Una vez que la haya encontrado, deberá sustituirla por el siguiente código:

<?php wpb_get_parent_terms(); ?> 

Este código mostrará sólo su categoría principal.

Si tiene varias categorías que son categorías principales o independientes, también se mostrarán todas esas categorías.

Only parent category displayed

El fragmento de código funcionará también para el resto de taxonomías. Por ejemplo, las categorías de productos de WooCommerce o cualquier taxonomía personalizada que pueda tener.

Basta con modificar el código de la siguiente manera:

<?php wpb_get_parent_terms( 'product_cat '); ?>

Este código mostrará las categorías de productos para una tienda WooCommerce.

También mostrará solo las categorías principales o independientes de un producto.

Only parent product category displayed

Si desea mostrar una taxonomía personalizada, sustituya product_cat por el nombre de su taxonomía personalizada.

Guías de expertos para mostrar categorías en WordPress

Ahora que ya sabe cómo mostrar solo la categoría principal de sus entradas en WordPress, puede que le interese ver otras guías relacionadas con la visualización de categorías en WordPress:

Esperamos que este artículo te haya ayudado a aprender cómo mostrar solo la categoría principal de tus entradas en WordPress. Puede que también quieras ver nuestra guía sobre cómo mostrar campos personalizados fuera del bucle o nuestra selección experta del mejor software de chatbot de IA para tu sitio web.

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

12 comentariosDeja una respuesta

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

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.