Wordpress 3.5
[autoinstalls/wordpress.git] / wp-includes / template-loader.php
1 <?php
2 /**
3  * Loads the correct template based on the visitor's url
4  * @package WordPress
5  */
6 if ( defined('WP_USE_THEMES') && WP_USE_THEMES )
7         do_action('template_redirect');
8
9 // Halt template load for HEAD requests. Performance bump. See #14348
10 if ( 'HEAD' === $_SERVER['REQUEST_METHOD'] && apply_filters( 'exit_on_http_head', true ) )
11         exit();
12
13 // Process feeds and trackbacks even if not using themes.
14 if ( is_robots() ) :
15         do_action('do_robots');
16         return;
17 elseif ( is_feed() ) :
18         do_feed();
19         return;
20 elseif ( is_trackback() ) :
21         include( ABSPATH . 'wp-trackback.php' );
22         return;
23 endif;
24
25 if ( defined('WP_USE_THEMES') && WP_USE_THEMES ) :
26         $template = false;
27         if     ( is_404()            && $template = get_404_template()            ) :
28         elseif ( is_search()         && $template = get_search_template()         ) :
29         elseif ( is_tax()            && $template = get_taxonomy_template()       ) :
30         elseif ( is_front_page()     && $template = get_front_page_template()     ) :
31         elseif ( is_home()           && $template = get_home_template()           ) :
32         elseif ( is_attachment()     && $template = get_attachment_template()     ) :
33                 remove_filter('the_content', 'prepend_attachment');
34         elseif ( is_single()         && $template = get_single_template()         ) :
35         elseif ( is_page()           && $template = get_page_template()           ) :
36         elseif ( is_category()       && $template = get_category_template()       ) :
37         elseif ( is_tag()            && $template = get_tag_template()            ) :
38         elseif ( is_author()         && $template = get_author_template()         ) :
39         elseif ( is_date()           && $template = get_date_template()           ) :
40         elseif ( is_archive()        && $template = get_archive_template()        ) :
41         elseif ( is_comments_popup() && $template = get_comments_popup_template() ) :
42         elseif ( is_paged()          && $template = get_paged_template()          ) :
43         else :
44                 $template = get_index_template();
45         endif;
46         if ( $template = apply_filters( 'template_include', $template ) )
47                 include( $template );
48         return;
49 endif;