Cómo listar los términos de una custom category en WordPress

Foto de Brett Jordan en Unsplash

Foto de Brett Jordan en Unsplash

Dependiendo de la configuración de Tema y Plugins que hayas necesitado en WordPress, a veces las cosas más simples resultan complicadas.
Así ocurre cuando se quiere tener una lista de los hijos de un término dentro de una categoría personalizada. Por supuesto, podrías crear esta lista a mano, con un menú o mediante un plugin. En el primer y segundo caso, cada vez que se produjera un cambio en el listado, tendrías que modificarlo «a mano». Y la solución tipo plugin, a mí personalmente me parece matar moscas a cañonazos.

Se trata de la creación de un shortcode en el que pasas como atributos el id del término y el nombre de la taxonomía de la cual quieres obtener los términos hijo.

/**
* Display term field from parent post
*/
function terms_from_parent_sc( $atts ){
$a = shortcode_atts( array(
'tag_ID' => '15',
'taxonomy_name' => 'catprod',
), $atts );

$term_id = (int)$a['tag_ID'];
$taxonomy_name = $a['taxonomy_name'];
$termchildren = get_term_children( $term_id, $taxonomy_name );

$html='

    ';
    foreach ( $termchildren as $child ) {
    $term = get_term_by( 'id', $child, $taxonomy_name );
    $linksss = get_term_link($term, 'catprod');

    $html.= '

  • ' . $term->name . '
  • ';
    }
    $html.= '

';
return $html;
}
add_shortcode( 'terms_from_parent', 'terms_from_parent_sc' );

// Use like so by passing required attributes
//[terms_from_parent tag_ID="term_id" taxonomy_name="taxname" ]

Si necesitas ayuda, ya sabes, contacta conmigo y te lanzo un presupuesto o acuerdo de colaboración.