load_template() WordPress Function

The load_template() function is used to load a WordPress template. This function is located in wp-includes/template.php. This function loads the WordPress template. The template is used to display the content of the page. This function is located in wp-includes/template.php. The function takes two parameters. The first parameter is the path of the template file. The second parameter is a boolean value that determines whether or not to load the template. If the path is not specified, the function will try to load the template from the active theme's directory. This function returns the path of the template file.

load_template( string $_template_file, bool $require_once = true, array $args = array() ) #

Require the template file with WordPress environment.


Description

The globals are set up for the template file to ensure that the WordPress environment is available from within the function. The query variables are also available.


Top ↑

Parameters

$_template_file

(string)(Required)Path to template file.

$require_once

(bool)(Optional)Whether to require_once or require.

Default value: true

$args

(array)(Optional) Additional arguments passed to the template.

Default value: array()


Top ↑

More Information

Uses global: (object) $wp_query to extract extract() global variables returned by the query_vars method while protecting the current values in these global variables:

  • (unknown type) $posts
  • (unknown type) $post
  • (boolean) $wp_did_header Returns true if the WordPress header was already loaded. See the /wp-blog-header.php file for details.
  • (boolean) $wp_did_template_redirect
  • (object) $wp_rewrite
  • (object) $wpdb
  • (string) $wp_version holds the installed WordPress version number.
  • (string) $wp
  • (string) $id
  • (string) $comment
  • (string) $user_ID

Top ↑

Source

File: wp-includes/template.php

function load_template( $_template_file, $require_once = true, $args = array() ) {
	global $posts, $post, $wp_did_header, $wp_query, $wp_rewrite, $wpdb, $wp_version, $wp, $id, $comment, $user_ID;

	if ( is_array( $wp_query->query_vars ) ) {
		/*
		 * This use of extract() cannot be removed. There are many possible ways that
		 * templates could depend on variables that it creates existing, and no way to
		 * detect and deprecate it.
		 *
		 * Passing the EXTR_SKIP flag is the safest option, ensuring globals and
		 * function variables cannot be overwritten.
		 */
		// phpcs:ignore WordPress.PHP.DontExtract.extract_extract
		extract( $wp_query->query_vars, EXTR_SKIP );
	}

	if ( isset( $s ) ) {
		$s = esc_attr( $s );
	}

	if ( $require_once ) {
		require_once $_template_file;
	} else {
		require $_template_file;
	}
}


Top ↑

Changelog

Changelog
VersionDescription
5.5.0The $args parameter was added.
1.5.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.