Shortcode to List (Custom) Taxonomy Terms
You can define a shortcode that lists (custom) taxonomy terms by adding this snippet to your functions.php:
function wpkb_shortcode_list_taxonomy_terms($attributes)
{
$attributes = shortcode_atts( array(
'taxonomy' => 'post_tag',
'orderby' => 'name',
), $attributes );
$args = array(
'taxonomy' => $attributes['taxonomy'],
'orderby' => $attributes['orderby'],
);
$terms = get_categories($args);
$output = '';
// Exit if there are no terms
if (! $terms) {
return $output;
}
// Start list
$output .= '<ul>';
// Add terms
foreach($terms as $term) {
$output .= '<li><a href="'. get_term_link($term) .'">'. esc_html($term->cat_name) .'</a></li>';
}
// End list
$output .= '</ul>';
return $output;
}
add_shortcode('taxonomy_terms', 'wpkb_shortcode_list_taxonomy_terms');
By default, the shortcode [[taxonomy_terms]] lists the post tags. You can change the taxonomy by modifying the shortcode: [[taxonomy_terms taxonomy=“my_taxonomy”]].