Reputation: 151
I am able to display the term of the taxonomy in the taxonomy page, but how do I get the taxonomy , or display the taxonomy on the page.
for example, when I have a taxonomy called "fruit" and I click on a fruit term called "lemons", How do I display both "lemons" and "fruit" on the taxonomy term page?
Just looking for the get term equivalent. Thx!
Upvotes: 13
Views: 50323
Reputation: 5469
As of Wordpress version 3.1.0
for single_term_title()
and Wordpress version 4.9.2
for term_description()
, both can be used to display the terms name and description. Here is an example.
<hgroup>
<h1><?php single_term_title(); ?></h1>
<h2><?= term_description(); ?></h2>
</hgroup>
Alternatively you can use get_the_archive_title()
to display the taxonomy name and curren associated term. A typical result would be: Taxonomy: Term
.
single_term_title()
@ https://developer.wordpress.org/reference/functions/single_term_title/term_description()
@ https://developer.wordpress.org/reference/functions/term_description/get_the_archive_title()
@ https://developer.wordpress.org/reference/functions/get_the_archive_title/Upvotes: 0
Reputation: 2037
Someone might step this way (I did) so...
$tax = $wp_query->get_queried_object();
$tax_term = $tax->name;
$tax = get_taxonomy($tax->taxonomy);
$taxonomy = $tax->label;
echo "$tax_term are $taxonomy";
returns "Lemons are Fruit".
I'd love to know a one liner for this but I don't think there is one, you need parts of two objects.
Upvotes: 0
Reputation: 595
You can get specific term / taxonomy data like name, description etc on taxonomy.php
<?php
$termid = get_queried_object()->term_id;
$term = get_term( $termid, 'taxonomy-name' );
echo $term->name.'<br>';
echo $term->description;
?>
Upvotes: 2
Reputation: 119
A possible solution:
$taxonomy = get_queried_object();
echo $taxonomy->name;
Upvotes: 11
Reputation: 31
I know this is answered, but for those who might wind up on this page when searching...
global $taxonomy,$term;
$taxonomy will now contain your taxonomy name ('fruit' from the OP's example) and your taxonomy term name ('lemon' from OP's example).
Upvotes: 3
Reputation: 241
I know this is a solved problem but here's another way to get the taxonomy name which I think is clean. For those finding this just now as I did. I like to promote awareness of global variables in wordpress.
$tax_term = $wp_query->query_vars['tax_name'];
Upvotes: 3
Reputation: 1062
For my taste is overly complicated, but here it goes:
$term = get_term_by('slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
echo $term->name;
Upvotes: 6
Reputation: 7361
If you check $wp_query->get_queried_object()
on a taxonomy page, this will contain the term object, which has a reference to the taxonomy identifier (in my example it's replymc_people
). Pass this to get_taxonomy
, and you get the full taxonomy object.
object(stdClass)[325]
public 'term_id' => string '113' (length=3)
public 'name' => string 'Jef Staes' (length=9)
public 'slug' => string 'jef-staes' (length=9)
public 'term_group' => string '0' (length=1)
public 'term_taxonomy_id' => string '107' (length=3)
public 'taxonomy' => string 'replymc_people' (length=14)
public 'description' => string '' (length=0)
public 'parent' => string '0' (length=1)
public 'count' => string '3' (length=1)
Upvotes: 5