get_category_template() WordPress Function
The get_category_template() function in WordPress allows you to use a custom template for a specific category. This is useful if you want to change the layout or design of a particular category. To use this function, you first need to create a new template file in your theme directory. Then, you can use the get_category_template() function to load the template file for a specific category.
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 );
}
Expand full source codeCollapse full source codeView on TracView on GitHub
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. |