Cómo mostrar la taxonomía secundaria en la página de archivo de la taxonomía principal

En el pasado, le mostramos 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 taxonomías secundarias en la página de archivo de taxonomías principales. Después de investigar un poco, no encontramos un solo tutorial que cubra este problema. En este artículo, le mostraremos cómo mostrar una lista de taxonomías secundarias en las páginas de taxonomías.

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

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

No olvide reemplazar YOUR-TAXONOMY-NAME con el nombre de su taxonomía.

Resultado final:

Lista de taxonomías

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 temas y está en una página / temas / nutrición /, la variable $ term extraerá todos los datos relacionados con la página de término específico 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. Entonces decidimos ejecutar un condicional usando $ term-> variable principal. Esta variable genera el ID de la taxonomía principal. Entonces, si está en la nutrición de la taxonomía, que es la taxonomía principal, entonces $ term-> parent se hará eco de 0. Es por eso que dijimos que si $ term-> parent == 0 entonces use la función wp_list_categories () para mostrar términos de nuestra taxonomías que son secundarias del término en la que se encuentra la página. Logramos esto usando $ term-> term_id como la variable child_of.

Ahora, si va a la página de taxonomía secundaria, habría estado en blanco porque $ term-> parent ya no sería igual a 0. En una página de taxonomía secundaria, $ term-> parent da como resultado el ID de la categoría principal. Así que ejecutamos una instrucción else usando la misma función wp_list_categories () excepto que cambiamos $ term-> term_id a $ term-> parent.

Ahí tienes. Esperamos que esto ayude a todos los que buscaban una solución.

Publicaciones relacionadas

Botón volver arriba