get_the_taxonomies()
Retrieve all taxonomies associated with a post. Gets an array of HTML links.
Get taxonomies as an array the values of which contains HTML links to the specified post terms.
This function is useful when you want to show all links to all terms of all taxonomies to which the post is attached.
This function can be used within the loop.
Works with posts, custom post types, and custom taxonomies — full set...
Use the wrapper of this function — the_taxonomies() to get the result of a finished string for display, not an array.
No Hooks.
Return
String[]
. list of taxonomies, where the array key is a taxonomy slug and the value is a list of terms links.
Usage
get_the_taxonomies( $post, $args );
- $post(int|WP_Post)
- Post ID or WP_Post object.
Default: global $post - $args(array)
Arguments about how to format the list of taxonomies.
Default: empty array
-
template(string)
Template for displaying a taxonomy label and list of terms.
Default: "Label: Terms." - term_template(string)
Template for displaying a single term in the list.
Default: term name linked to its archive
-
Examples
#1 Demonstration of work for a simple post
$taxes = get_the_taxonomies( 119 ); /* $taxes will contain: Array ( [category] => Categories: <a href="URL">Codex</a>. [post_tag] => Tags: <a href="URL">loop</a> and <a href="URL">Newbe</a>. ) */
#2 Demonstration of work for a post type with taxonomies
$taxes = get_the_taxonomies( 7363 ); /* $taxes will contain: Array ( [wpfunctag] => Function tags: <a href="URL">Upload</a>. [wpfunccat] => Function categores: <a href="URL">Others</a>. ) */
#3 Change the output format
To change the output format, specify the following parameters:
$taxes = get_the_taxonomies( 119, array( 'template' => 'Taxonomy "%s": %l', 'term_template' => '<a href="%1$s" target="_blank">%2$s</a>', ) ); /* $taxes will contain: Array ( [category] => Taxonomy "Cats": <a href="URL" target="_blank">Codex</a> [post_tag] => Taxonomy "Tags": <a href="URL" target="_blank">loop</a> and <a href="URL" target="_blank">Newbe</a> ) */
#4 Let's collect everything and display it in LI list
This is the analogue of the the_taxonomies() function.
$taxes = get_the_taxonomies( 119 ); if( $taxes ) echo "<ul>\n\t<li>". implode("</li>\n\t<li>", $taxes ) ."</li>\n</ul>";
Result:
<ul> <li>Categories: <a href="URL">Codex</a>.</li> <li>Tags: <a href="URL">loop</a> and <a href="URL">Newbe</a>.</li> </ul>
Changelog
Since 2.5.0 | Introduced. |