aboutsummaryrefslogtreecommitdiff
path: root/srcs/wordpress/wp-includes/template-loader.php
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-01-07 13:06:14 +0100
committerCharles <sircharlesaze@gmail.com>2020-01-07 13:06:14 +0100
commit7086111ad4dd997e12a3220e1ee60c9b9bcf0bb8 (patch)
treef7453d7dd5cbaaab246e23810b02d3edf1e451be /srcs/wordpress/wp-includes/template-loader.php
parentc59bdcf77c50cbe89b4a93782cdd6d9e7532080e (diff)
downloadft_server-7086111ad4dd997e12a3220e1ee60c9b9bcf0bb8.tar.gz
ft_server-7086111ad4dd997e12a3220e1ee60c9b9bcf0bb8.tar.bz2
ft_server-7086111ad4dd997e12a3220e1ee60c9b9bcf0bb8.zip
Added wordpress
Diffstat (limited to 'srcs/wordpress/wp-includes/template-loader.php')
-rw-r--r--srcs/wordpress/wp-includes/template-loader.php106
1 files changed, 106 insertions, 0 deletions
diff --git a/srcs/wordpress/wp-includes/template-loader.php b/srcs/wordpress/wp-includes/template-loader.php
new file mode 100644
index 0000000..42519a2
--- /dev/null
+++ b/srcs/wordpress/wp-includes/template-loader.php
@@ -0,0 +1,106 @@
+<?php
+/**
+ * Loads the correct template based on the visitor's url
+ *
+ * @package WordPress
+ */
+if ( wp_using_themes() ) {
+ /**
+ * Fires before determining which template to load.
+ *
+ * @since 1.5.0
+ */
+ do_action( 'template_redirect' );
+}
+
+/**
+ * Filters 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() ) {
+ /**
+ * Fired when the template loader determines a robots.txt request.
+ *
+ * @since 2.1.0
+ */
+ do_action( 'do_robots' );
+ return;
+} elseif ( is_feed() ) {
+ do_feed();
+ return;
+} elseif ( is_trackback() ) {
+ include( ABSPATH . 'wp-trackback.php' );
+ return;
+}
+
+if ( wp_using_themes() ) {
+
+ $tag_templates = array(
+ 'is_embed' => 'get_embed_template',
+ 'is_404' => 'get_404_template',
+ 'is_search' => 'get_search_template',
+ 'is_front_page' => 'get_front_page_template',
+ 'is_home' => 'get_home_template',
+ 'is_privacy_policy' => 'get_privacy_policy_template',
+ 'is_post_type_archive' => 'get_post_type_archive_template',
+ 'is_tax' => 'get_taxonomy_template',
+ 'is_attachment' => 'get_attachment_template',
+ 'is_single' => 'get_single_template',
+ 'is_page' => 'get_page_template',
+ 'is_singular' => 'get_singular_template',
+ 'is_category' => 'get_category_template',
+ 'is_tag' => 'get_tag_template',
+ 'is_author' => 'get_author_template',
+ 'is_date' => 'get_date_template',
+ 'is_archive' => 'get_archive_template',
+ );
+ $template = false;
+
+ // Loop through each of the template conditionals, and find the appropriate template file.
+ foreach ( $tag_templates as $tag => $template_getter ) {
+ if ( call_user_func( $tag ) ) {
+ $template = call_user_func( $template_getter );
+ }
+
+ if ( $template ) {
+ if ( 'is_attachment' === $tag ) {
+ remove_filter( 'the_content', 'prepend_attachment' );
+ }
+
+ break;
+ }
+ }
+
+ if ( ! $template ) {
+ $template = get_index_template();
+ }
+
+ /**
+ * Filters the path of the current template before including it.
+ *
+ * @since 3.0.0
+ *
+ * @param string $template The path of the template to include.
+ */
+ $template = apply_filters( 'template_include', $template );
+ if ( $template ) {
+ include( $template );
+ } elseif ( current_user_can( 'switch_themes' ) ) {
+ $theme = wp_get_theme();
+ if ( $theme->errors() ) {
+ wp_die( $theme->errors() );
+ }
+ }
+ return;
+}