To retrieve all the terms in a taxonomy, you can make use of get_terms
Here is an example from that page to retrieve the term names of a custom taxonomy
$terms = get_terms('my_taxonomy', 'hide_empty=0');
if ( !empty( $terms ) && !is_wp_error( $terms ) ){
echo "<ul>";
foreach ( $terms as $term ) {
echo "<li>" . $term->name . "</li>";
}
echo "</ul>";
}
Here is a list of what is returned by get_terms
that you can work with
- term_id
- name
- slug
- term_group
- term_taxonomy_id
- taxonomy
- description
- parent
- count
You have to play around with what you exactly need. The only thing is, the link to the terms is not returned, so you’ll need to work with get_term_link
to get the link.
Here is an example from that page
$terms = get_terms( 'species', 'hide_empty=0' );
echo '<ul>';
foreach ( $terms as $term ) {
// The $term is an object, so we don't need to specify the $taxonomy.
$term_link = get_term_link( $term );
// If there was an error, continue to the next term.
if ( is_wp_error( $term_link ) ) {
continue;
}
// We successfully got a link. Print it out.
echo '<li><a href="' . esc_url( $term_link ) . '">' . $term->name . '</a></li>';
}
echo '</ul>';
This should kick-start you in achieving your goal
As for styling, this is something that you have to sort out by yourself as this doesn’t fall into scope of this site.