get_taxonomy_template()
Retrieves path of custom taxonomy term template in current or parent template.
Description
The hierarchy for this template looks like:
- taxonomy-{taxonomy_slug}-{term_slug}.php
- taxonomy-{taxonomy_slug}.php
- taxonomy.php
An example of this is:
- taxonomy-location-texas.php
- taxonomy-location.php
- taxonomy.php
The template hierarchy and template path are filterable via the ‘$type_template_hierarchy’ and ‘$type_template’ dynamic hooks, where $type
is ‘taxonomy’.
See also
Return
(string) Full path to custom taxonomy term template file.
Source
File: wp-includes/template.php
function get_taxonomy_template() {
$term = get_queried_object();
$templates = array();
if ( ! empty( $term->slug ) ) {
$taxonomy = $term->taxonomy;
$slug_decoded = urldecode( $term->slug );
if ( $slug_decoded !== $term->slug ) {
$templates[] = "taxonomy-$taxonomy-{$slug_decoded}.php";
}
$templates[] = "taxonomy-$taxonomy-{$term->slug}.php";
$templates[] = "taxonomy-$taxonomy.php";
}
$templates[] = 'taxonomy.php';
return get_query_template( 'taxonomy', $templates );
}
Changelog
Version | Description |
---|---|
4.7.0 | The decoded form of taxonomy-{taxonomy_slug}-{term_slug}.php was added to the top of the template hierarchy when the term slug contains multibyte characters. |
2.5.0 | Introduced. |