Cómo mostrar la taxonomía infantil en la página de archivos de la taxonomía de los padres

En el pasado le hemos mostrado cómo mostrar subcategorías en páginas de categorías en WordPress. Recientemente, mientras trabajábamos con Taxonomías Personalizadas, encontramos la necesidad de mostrar las taxonomías de los niños en la página de archivo de las taxonomías de los padres. Después de hacer un poco de investigación, no encontramos ni un solo tutorial que cubriera este tema. En este artículo, le mostraremos cómo mostrar una lista de taxonomías infantiles en las páginas de taxonomías.

Abra su archivo de plantilla de taxonomía personalizada que puede parecerse a: taxonomía-{taxonomyname}.php y pegue el siguiente código donde quiera que se muestre la lista:

12345678910parent == 0) { wp_list_categories(‘taxonomy=YOUR-TAXONOMY-NAME&depth=1&show_count=0&title_li=&child_of=’ . termino->term_id);} else{wp_list_categories(‘taxonomy=YOUR-TAXONOMY-NAME&show_count=0&title_li=&child_of=’ . $term->parent); }?>

No olvide reemplazar SU NOMBRE DE TEXTONOMÍA con el nombre de su taxonomía.

Resultado final:

Explicación:

Estamos usando get_term_by para consultar la información de la taxonomía actual por slug. Por ejemplo, si su taxonomía se llama topics y usted está en una página /topics/nutrition/, entonces la variable $term obtendrá todos los datos relacionados con la página de términos específicos en la que se encuentra.

En el proyecto en el que estábamos trabajando, la taxonomía de los temas era jerárquica al igual que las categorías. Así que decidimos ejecutar un condicional usando $term->variable padre. Esta variable produce el ID de la taxonomía padre. Así que si estás en la taxonomía nutrición que es la taxonomía de los padres, entonces $term->parent se hará eco de 0. Es por eso que dijimos que si $term->parent == 0 entonces usa la función wp_list_categories() para mostrar los términos de nuestra taxonomía personalizada que son hijo_del término en qué página estás. Esto lo logramos usando $term->term_id como la variable hijo_de.

Ahora bien, si va a la página de taxonomía infantil, habría estado en blanco porque el $term->parent ya no equivaldría a 0. En una página de taxonomía infantil, $term->parent produce el ID de la categoría de padres. Así que ejecutamos una sentencia else usando la misma función wp_list_categories() excepto que cambiamos $term->term_id a $term->parent.

Ahí lo tienes. Esperamos que esto ayude a todos los que estaban buscando una solución.

Deja un comentario