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
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
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
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.
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
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.
Deja un comentario
¡Más Contenido!