Tutoriales de WordPress de Confianza, cuando más los necesitas.
Guía para Principiantes de WordPress
Copa WPB
25 Millones+
Sitios web que usan nuestros plugins
16+
Años de experiencia en WordPress
3000+
Tutoriales de WordPress de expertos

Cómo mostrar solo la categoría principal en el bucle de publicaciones de WordPress

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.

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

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.

Categorías principal e hijo mostradas

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

Añadir un nuevo fragmento en WPCode

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);
}
Agregar un título y un fragmento de código a WPCode

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.

En WPCode, selecciona PHP como tipo de código y activa el fragmento

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.

Solo se muestra la categoría principal

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.

Solo se muestra la categoría principal del 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:

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.

Descargo de responsabilidad: Nuestro contenido es compatible con el lector. Esto significa que si haces clic en algunos de nuestros enlaces, podemos ganar una comisión. Consulta cómo se financia WPBeginner, por qué es importante y cómo puedes apoyarnos. Aquí está nuestro proceso editorial.

El Kit de herramientas definitivo para WordPress

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

Interacciones del lector

11 CommentsLeave a Reply

Deja una respuesta

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