apply_filters( "{$type}_template", string $template, string $type, array $templates )

Filters the path of the queried template by type.

Description Description

The dynamic portion of the hook name, $type, refers to the filename — minus the file extension and any non-alphanumeric characters delimiting words — of the file to load. This hook also applies to various types of files loaded as part of the Template Hierarchy.

Possible values for $type include: ‘index’, ‘404’, ‘archive’, ‘author’, ‘category’, ‘tag’, ‘taxonomy’, ‘date’, ’embed’, ‘home’, ‘frontpage’, ‘privacypolicy’, ‘page’, ‘paged’, ‘search’, ‘single’, ‘singular’, and ‘attachment’.

Parameters Parameters


(string) Path to the template. See locate_template().


(string) Sanitized filename without extension.


(array) A list of template candidates, in descending order of priority.

Top ↑

Source Source

File: wp-includes/template.php

View on Trac

Top ↑

Changelog Changelog

Version Description
4.8.0 The $type and $templates parameters were added.
1.5.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 1 content
    Contributed by Al

    We can use this filter in case that we want to add and archive page for our custom taxonomy that we have created from a plugin. In this case the filter we will need is “taxonomy_template”.

    add_filter( "taxonomy_template", 'load_our_custom_tax_template');
    function load_our_custom_tax_template ($tax_template) {
      if (is_tax('custom-tax-name')) {
        $tax_template = dirname(  __FILE__  ) . '/templates/custom-taxonomy-template.php';
      return $tax_template;

You must log in before being able to contribute a note or feedback.