Make WordPress Core

Ticket #16128: template-loader.php

File template-loader.php, 2.0 KB (added by pearsonified, 14 years ago)
Line 
1<?php
2/**
3 * Loads the correct template based on the visitor's url
4 * @package WordPress
5 */
6if ( defined('WP_USE_THEMES') && WP_USE_THEMES )
7        do_action('template_redirect');
8
9// Process feeds and trackbacks even if not using themes.
10if ( is_robots() ) :
11        do_action('do_robots');
12        return;
13elseif ( is_feed() ) :
14        do_feed();
15        return;
16elseif ( is_trackback() ) :
17        include( ABSPATH . 'wp-trackback.php' );
18        return;
19endif;
20
21if ( defined('WP_USE_THEMES') && WP_USE_THEMES ) :
22        if (defined('WP_THEME_TEMPLATE') && WP_THEME_TEMPLATE)
23                do_action('theme_template');
24        else {
25                $template = false;
26                if     ( is_404()            && $template = get_404_template()            ) :
27                elseif ( is_search()         && $template = get_search_template()         ) :
28                elseif ( is_tax()            && $template = get_taxonomy_template()       ) :
29                elseif ( is_front_page()     && $template = get_front_page_template()     ) :
30                elseif ( is_home()           && $template = get_home_template()           ) :
31                elseif ( is_attachment()     && $template = get_attachment_template()     ) :
32                        remove_filter('the_content', 'prepend_attachment');
33                elseif ( is_single()         && $template = get_single_template()         ) :
34                elseif ( is_page()           && $template = get_page_template()           ) :
35                elseif ( is_category()       && $template = get_category_template()       ) :
36                elseif ( is_tag()            && $template = get_tag_template()            ) :
37                elseif ( is_author()         && $template = get_author_template()         ) :
38                elseif ( is_date()           && $template = get_date_template()           ) :
39                elseif ( is_archive()        && $template = get_archive_template()        ) :
40                elseif ( is_comments_popup() && $template = get_comments_popup_template() ) :
41                elseif ( is_paged()          && $template = get_paged_template()          ) :
42                else :
43                        $template = get_index_template();
44                endif;
45                if ( $template = apply_filters( 'template_include', $template ) )
46                        include( $template );
47                return;
48        }
49endif;
50
51?>