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

¿Quieres mostrar sólo la categoría infantil en tu bucle de entradas de WordPress?

La mayoría de los temas de WordPress muestran automáticamente todas las categorías de una entrada, incluyendo las categorías padre e hijo. ¿Y si sólo quieres mostrar la categoría hija?

En este artículo, te mostraremos cómo mostrar fácilmente sólo la categoría hija en el bucle de la entrada de WordPress

Mostrar sólo las categorías secundarias dentro del bucle de la entrada de WordPress

Por qué y cuándo querrías mostrar sólo la categoría infantil

WordPress viene con dos taxonomías por defecto llamadas categorías y etiquetas para organizar tu contenido. Muchos sitios web utilizan etiquetas para temas específicos de cada artículo y categorías para secciones más amplias del sitio web

También hay sitios web que utilizan categorías para definir la estructura de su sitio web. Por ejemplo, un sitio web de viajes puede utilizar categorías para diferentes tipos de destinos, o un blog de comida puede utilizarlas para diferentes tipos de cocinas

Las categorías también son jerárquicas, lo que significa que puedes crear categorías secundarias (o subcategorías) para una categoría principal con el fin de organizar aún más tu contenido. Por ejemplo, un sitio web de viajes puede archivar un artículo en Destinos " Europa, donde Europa es la categoría hija

Por defecto, un tema de WordPress mostraría todas las categorías padre e hija de una entrada

Se muestran todas las categorías de hijos y padres

Sin embargo, listar todas las categorías de una entrada puede no parecer tan ordenado y centrado como mostrar la categoría más relevante. En ese caso, puedes omitir la categoría principal y mostrar sólo la categoría secundaria.

Dicho esto, veamos cómo mostrar sólo la categoría secundaria de una entrada de WordPress

Mostrar sólo la categoría secundaria de una entrada de WordPress

Este tutorial requiere algunos conocimientos básicos sobre cómo copiar y pegar fragmentos de código personalizado en WordPress

En primer lugar, tendrás que encontrar el código en los archivos de tu tema responsable de mostrar las categorías. Normalmente se encuentra en el archivo single.php dentro de tu tema.

Para saber más, consulta nuestra hoja de trucos sobre la jerarquía de las plantillas de WordPress, que te ayudará a averiguar qué archivos de plantilla se utilizan para mostrar las diferentes secciones de un tema de WordPress

Una vez que hayas localizado el código responsable de mostrar las categorías, puedes sustituirlo por el siguiente código


// Get the IDs of child categories if any
$categories = get_the_category();
foreach( $categories as $category ) {
If ( $category->parent > 0 ) { 
$child_cat_ID[] =  $category->term_id; 
}
} 

// If there are no child categories then display categories
If ( empty($child_cat_ID)) { 
echo get_the_category_list( ' , ', '' );

// display child categories only
} else { 
	
$child_cat_IDs = implode(', ', $child_cat_ID);
echo '<div class="post-categories">Filed under: ';
wp_list_categories( array(
        'separator' => ' ',
		'style'		=> '',	
        'include' =>  $child_cat_IDs  
    ) );
echo '</div>';
} 


No olvides guardar los cambios y subir los archivos del tema a tu servidor

Ahora puedes visitar tu entrada individual que tiene una o más categorías hijas. Verás que se ocultará la categoría padre y sólo se mostrarán las categorías hijas

Sólo se muestran las categorías infantiles

Hay un problema con este código

Si has seleccionado una categoría principal con categorías secundarias y otra categoría única, el código omitirá la categoría independiente. Esto significa que, en el ejemplo siguiente, la categoría "Noticias" no se mostraría.

Categoría independiente

Si esto es un problema para tus necesidades de diseño, entonces puedes utilizar el siguiente código en su lugar


// Get the IDs of categories
$categories = get_the_category();
foreach( $categories as $category ) {
If ( $category->parent > 0 ) { 
$child_cat_ID[] =  $category->term_id; 
//store child's parent category id to use later
$parent_cat_ID = $category->parent;
} 
// find categories with no parent and no child
If ( $category->parent == 0 && $category->term_id !== $parent_cat_ID) { 
$single_category[] = $category->term_id; 
}
}
				
// Display part of the code
			
// if there are no child categories then go ahead and display all categories. 
If ( empty($child_cat_ID)) { 
echo get_the_category_list( ' , ', '' );
} 

// If there are child categories then do this				
else { 
$child_cat_IDs = implode(', ', $child_cat_ID) ;
$single_category_id = implode(', ', $single_category);	

// Combine child categories and categories with no children
$cats_to_include =   $child_cat_IDs . ', ' . $single_category_id ; 

// Display them 
echo '<div class="post-categories">Filed under: ';

wp_list_categories( array(
'separator' => ' ',
'style'	=> '',	
'include' =>  $cats_to_include 
 ) );
echo '</div>';

} 


Este código ahora sólo excluirá las categorías padre. Seguirá mostrando las categorías independientes junto con las categorías hijas

Se muestran las categorías infantiles y las categorías independientes

Esperamos que este artículo te haya ayudado a aprender cómo mostrar sólo las categorías hijas en tus entradas de WordPress. También puedes probar estos útiles trucos para el archivo de funciones de WordPress o considerar el uso de estos potentes constructores de páginas de WordPress para evitar escribir cualquier 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 infantil 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