web/wp-includes/template-loader.php
changeset 194 32102edaa81b
parent 136 bde1974c263b
child 204 09a1c134465b
equal deleted inserted replaced
193:2f6f6f7551ca 194:32102edaa81b
     1 <?php
     1 <?php
     2 /**
     2 /**
     3  * Loads the correct template based on the visitor's url
     3  * Loads the correct template based on the visitor's url
     4  * @package WordPress
     4  * @package WordPress
     5  */
     5  */
     6 if ( defined('WP_USE_THEMES') && constant('WP_USE_THEMES') ) {
     6 if ( defined('WP_USE_THEMES') && WP_USE_THEMES )
     7 	do_action('template_redirect');
     7 	do_action('template_redirect');
     8 	if ( is_robots() ) {
     8 
     9 		do_action('do_robots');
     9 // Process feeds and trackbacks even if not using themes.
    10 		return;
    10 if ( is_robots() ) :
    11 	} else if ( is_feed() ) {
    11 	do_action('do_robots');
    12 		do_feed();
    12 	return;
    13 		return;
    13 elseif ( is_feed() ) :
    14 	} else if ( is_trackback() ) {
    14 	do_feed();
    15 		include(ABSPATH . 'wp-trackback.php');
    15 	return;
    16 		return;
    16 elseif ( is_trackback() ) :
    17 	} else if ( is_404() && $template = get_404_template() ) {
    17 	include( ABSPATH . 'wp-trackback.php' );
    18 		include($template);
    18 	return;
    19 		return;
    19 endif;
    20 	} else if ( is_search() && $template = get_search_template() ) {
    20 
    21 		include($template);
    21 if ( defined('WP_USE_THEMES') && WP_USE_THEMES ) :
    22 		return;
    22 	$template = false;
    23 	} else if ( is_tax() && $template = get_taxonomy_template()) {
    23 	if     ( is_404()            && $template = get_404_template()            ) :
    24 		include($template);
    24 	elseif ( is_search()         && $template = get_search_template()         ) :
    25 		return;
    25 	elseif ( is_tax()            && $template = get_taxonomy_template()       ) :
    26 	} else if ( is_home() && $template = get_home_template() ) {
    26 	elseif ( is_front_page()     && $template = get_front_page_template()     ) :
    27 		include($template);
    27 	elseif ( is_home()           && $template = get_home_template()           ) :
    28 		return;
    28 	elseif ( is_attachment()     && $template = get_attachment_template()     ) :
    29 	} else if ( is_attachment() && $template = get_attachment_template() ) {
       
    30 		remove_filter('the_content', 'prepend_attachment');
    29 		remove_filter('the_content', 'prepend_attachment');
    31 		include($template);
    30 	elseif ( is_single()         && $template = get_single_template()         ) :
    32 		return;
    31 	elseif ( is_page()           && $template = get_page_template()           ) :
    33 	} else if ( is_single() && $template = get_single_template() ) {
    32 	elseif ( is_category()       && $template = get_category_template()       ) :
    34 		include($template);
    33 	elseif ( is_tag()            && $template = get_tag_template()            ) :
    35 		return;
    34 	elseif ( is_author()         && $template = get_author_template()         ) :
    36 	} else if ( is_page() && $template = get_page_template() ) {
    35 	elseif ( is_date()           && $template = get_date_template()           ) :
    37 		include($template);
    36 	elseif ( is_archive()        && $template = get_archive_template()        ) :
    38 		return;
    37 	elseif ( is_comments_popup() && $template = get_comments_popup_template() ) :
    39 	} else if ( is_category() && $template = get_category_template()) {
    38 	elseif ( is_paged()          && $template = get_paged_template()          ) :
    40 		include($template);
    39 	else :
    41 		return;
    40 		$template = get_index_template();
    42 	} else if ( is_tag() && $template = get_tag_template()) {
    41 	endif;
    43 		include($template);
    42 	if ( $template = apply_filters( 'template_include', $template ) )
    44 		return;
    43 		include( $template );
    45 	} else if ( is_author() && $template = get_author_template() ) {
    44 	return;
    46 		include($template);
    45 endif;
    47 		return;
       
    48 	} else if ( is_date() && $template = get_date_template() ) {
       
    49 		include($template);
       
    50 		return;
       
    51 	} else if ( is_archive() && $template = get_archive_template() ) {
       
    52 		include($template);
       
    53 		return;
       
    54 	} else if ( is_comments_popup() && $template = get_comments_popup_template() ) {
       
    55 		include($template);
       
    56 		return;
       
    57 	} else if ( is_paged() && $template = get_paged_template() ) {
       
    58 		include($template);
       
    59 		return;
       
    60 	} else if ( file_exists(TEMPLATEPATH . "/index.php") ) {
       
    61 		include(TEMPLATEPATH . "/index.php");
       
    62 		return;
       
    63 	}
       
    64 } else {
       
    65 	// Process feeds and trackbacks even if not using themes.
       
    66 	if ( is_robots() ) {
       
    67 		do_action('do_robots');
       
    68 		return;
       
    69 	} else if ( is_feed() ) {
       
    70 		do_feed();
       
    71 		return;
       
    72 	} else if ( is_trackback() ) {
       
    73 		include(ABSPATH . 'wp-trackback.php');
       
    74 		return;
       
    75 	}
       
    76 }
       
    77 
       
    78 ?>