I've created a taxonomy.php page in my WordPress theme folder. I would like to get the current term id for a function. How can I get this?
get_query_var('taxonomy') only returns the term slug, I want the ID
If you are in taxonomy page.
That's how you get all details about the taxonomy.
get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
This is how you get the taxonomy id
$termId = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) )->term_id;
But if you are in post page (taxomony -> child)
$terms = wp_get_object_terms( get_queried_object_id(), 'taxonomy-name');
$term_id = $terms[0]->term_id;
See wp_get_post_terms(), you'd do something like so:
global $post;
$terms = wp_get_post_terms( $post->ID, 'YOUR_TAXONOMY_NAME',array('fields' => 'ids') );
print_r($terms);
It's the term slug you want.Looks like you can get the id like this if that's what you need:
function get_term_link( $term, $taxonomy = '' ) {
global $wp_rewrite;
if ( !is_object($term) ) {
if ( is_int( $term ) ) {
$term = get_term( $term, $taxonomy );
} else {
$term = get_term_by( 'slug', $term, $taxonomy );
}
}