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 tema. 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:

<?php 
$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); 
if ($term->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:

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 /, entonces 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 temas era jerárquica al igual que las categorías. Así que 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 si $ term-> parent == 0 entonces use wp_list_categories () función para mostrar términos de nuestra taxonomía personalizada que son secundarios 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.

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

Fuente: wpbeginner

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *