X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/699231ae09f7057a4d0000cdf32e50a3df6a04ca..refs/tags/wordpress-4.3:/wp-includes/template-loader.php diff --git a/wp-includes/template-loader.php b/wp-includes/template-loader.php index 7c72a05e..95216fe5 100644 --- a/wp-includes/template-loader.php +++ b/wp-includes/template-loader.php @@ -4,11 +4,34 @@ * @package WordPress */ if ( defined('WP_USE_THEMES') && WP_USE_THEMES ) - do_action('template_redirect'); + /** + * Fires before determining which template to load. + * + * @since 1.5.0 + */ + do_action( 'template_redirect' ); + +/** + * Filter whether to allow 'HEAD' requests to generate content. + * + * Provides a significant performance bump by exiting before the page + * content loads for 'HEAD' requests. See #14348. + * + * @since 3.5.0 + * + * @param bool $exit Whether to exit without generating any content for 'HEAD' requests. Default true. + */ +if ( 'HEAD' === $_SERVER['REQUEST_METHOD'] && apply_filters( 'exit_on_http_head', true ) ) + exit(); // Process feeds and trackbacks even if not using themes. if ( is_robots() ) : - do_action('do_robots'); + /** + * Fired when the template loader determines a robots.txt request. + * + * @since 2.1.0 + */ + do_action( 'do_robots' ); return; elseif ( is_feed() ) : do_feed(); @@ -22,13 +45,15 @@ if ( defined('WP_USE_THEMES') && WP_USE_THEMES ) : $template = false; if ( is_404() && $template = get_404_template() ) : elseif ( is_search() && $template = get_search_template() ) : - elseif ( is_tax() && $template = get_taxonomy_template() ) : elseif ( is_front_page() && $template = get_front_page_template() ) : elseif ( is_home() && $template = get_home_template() ) : + elseif ( is_post_type_archive() && $template = get_post_type_archive_template() ) : + elseif ( is_tax() && $template = get_taxonomy_template() ) : elseif ( is_attachment() && $template = get_attachment_template() ) : remove_filter('the_content', 'prepend_attachment'); elseif ( is_single() && $template = get_single_template() ) : elseif ( is_page() && $template = get_page_template() ) : + elseif ( is_singular() && $template = get_singular_template() ) : elseif ( is_category() && $template = get_category_template() ) : elseif ( is_tag() && $template = get_tag_template() ) : elseif ( is_author() && $template = get_author_template() ) : @@ -39,9 +64,14 @@ if ( defined('WP_USE_THEMES') && WP_USE_THEMES ) : else : $template = get_index_template(); endif; + /** + * Filter the path of the current template before including it. + * + * @since 3.0.0 + * + * @param string $template The path of the template to include. + */ if ( $template = apply_filters( 'template_include', $template ) ) include( $template ); return; endif; - -?>