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. |