WordPress 3.4
[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 // Process feeds and trackbacks even if not using themes.
10 if ( is_robots() ) :
11         do_action('do_robots');
12         return;
13 elseif ( is_feed() ) :
14         do_feed();
15         return;
16 elseif ( is_trackback() ) :
17         include( ABSPATH . 'wp-trackback.php' );
18         return;
19 endif;
20
21 if ( defined('WP_USE_THEMES') && WP_USE_THEMES ) :
22         $template = false;
23         if     ( is_404()            && $template = get_404_template()            ) :
24         elseif ( is_search()         && $template = get_search_template()         ) :
25         elseif ( is_tax()            && $template = get_taxonomy_template()       ) :
26         elseif ( is_front_page()     && $template = get_front_page_template()     ) :
27         elseif ( is_home()           && $template = get_home_template()           ) :
28         elseif ( is_attachment()     && $template = get_attachment_template()     ) :
29                 remove_filter('the_content', 'prepend_attachment');
30         elseif ( is_single()         && $template = get_single_template()         ) :
31         elseif ( is_page()           && $template = get_page_template()           ) :
32         elseif ( is_category()       && $template = get_category_template()       ) :
33         elseif ( is_tag()            && $template = get_tag_template()            ) :
34         elseif ( is_author()         && $template = get_author_template()         ) :
35         elseif ( is_date()           && $template = get_date_template()           ) :
36         elseif ( is_archive()        && $template = get_archive_template()        ) :
37         elseif ( is_comments_popup() && $template = get_comments_popup_template() ) :
38         elseif ( is_paged()          && $template = get_paged_template()          ) :
39         else :
40                 $template = get_index_template();
41         endif;
42         if ( $template = apply_filters( 'template_include', $template ) )
43                 include( $template );
44         return;
45 endif;