Cómo mostrar sólo la categoría principal en el bucle de la publicación de WordPress

¿Quieres mostrar sólo la categoría principal de tus entradas en WordPress?

Por defecto, la mayoría de los temas de WordPress muestran todas las categorías asociadas a una entrada. Sin embargo, algunos usuarios pueden querer mostrar sólo la categoría principal y excluir las categorías secundarias.

En este artículo, te mostraremos cómo modificar el bucle de la entrada de WordPress para mostrar sólo la categoría principal en una entrada.

Mostrar sólo la categoría padre en el bucle de WordPress

Cuándo mostrar sólo la categoría padre en WordPress

Muchos propietarios de sitios web utilizan categorías padre e hijo para crear una estructura de sitio para sus sitios web

Por ejemplo, un blog de viajes puede tener los destinos de los viajes organizados por categorías, donde cada región es una categoría padre y las ciudades son categorías hijo

Se muestran las categorías de padres e hijos

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 the_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á completamente la relación padre/hijo

Dicho esto, veamos cómo cambiar este comportamiento y mostrar sólo la categoría padre en el bucle de WordPress

Mostrar sólo la categoría padre en el bucle de la publicación 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

En primer lugar, tienes que añadir el siguiente código al archivo functions.php de tu tema o a un plugin específico del sitio.

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

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

A continuación, tienes que colocar esta función en los archivos de tu tema de WordPress donde quieras mostrar sólo la categoría padre

Para saber en qué archivo de plantilla debes buscar, consulta nuestra hoja de trucos sobre la jerarquía de plantillas de WordPress para principiantes

Básicamente, buscarás the_category(); etiqueta de plantilla dentro del bucle de WordPress. Una vez que la hayas encontrado, tienes que sustituirla por el siguiente código

<?php wpb_get_parent_terms(); ?> 

Este código mostrará tu categoría padre sola. Si tienes varias categorías que son las categorías padre o independientes, entonces también se mostrarán todas esas categorías

Sólo se muestra la categoría principal

Este código también funcionará para todas las demás taxonomías. Por ejemplo, las categorías de productos de WooCommerce o cualquier taxonomía personalizada que puedas tener.

Simplemente modifica el código así

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

Este código mostrará las categorías de productos de una tienda WooCommerce y sólo mostrará las categorías principales o independientes de un producto

Sólo se muestra la categoría de producto principal

Si quieres mostrar una taxonomía personalizada, sustituye product_cat por el nombre de tu taxonomía personalizada

Esperamos que este artículo te haya ayudado a saber cómo mostrar sólo la categoría principal de tus entradas en WordPress. Quizás también quieras ver estos otros trucos y consejos sobre categorías en WordPress o ver nuestra guía sobre cómo crear páginas personalizadas en WordPress sin escribir código

Si te ha gustado este artículo, suscríbete a nuestro Canal de YouTube para los videotutoriales de WordPress. También puedes encontrarnos en Twitter y Facebook.

Si quieres conocer otros artículos parecidos a Cómo mostrar sólo la categoría principal en el bucle de la publicación de WordPress puedes visitar la categoría Themes.

¡Más Contenido!

Deja un comentario

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

Go up