get_category_template()
Retrieve path of category template in current or parent template.
Description
The hierarchy for this template looks like:
- category-{slug}.php
- category-{id}.php
- category.php
An example of this is:
- category-news.php
- category-2.php
- category.php
The template hierarchy and template path are filterable via the ‘$type_template_hierarchy’ and ‘$type_template’ dynamic hooks, where $type
is ‘category’.
See also
Return
(string) Full path to category template file.
Source
File: wp-includes/template.php
function get_category_template() { $category = get_queried_object(); $templates = array(); if ( ! empty( $category->slug ) ) { $slug_decoded = urldecode( $category->slug ); if ( $slug_decoded !== $category->slug ) { $templates[] = "category-{$slug_decoded}.php"; } $templates[] = "category-{$category->slug}.php"; $templates[] = "category-{$category->term_id}.php"; } $templates[] = 'category.php'; return get_query_template( 'category', $templates ); }
Changelog
Version | Description |
---|---|
4.7.0 | The decoded form of category-{slug}.php was added to the top of the template hierarchy when the category slug contains multibyte characters. |
1.5.0 | Introduced. |
© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/get_category_template