WordPress at a glance

load_template() WP 1.0

Require the template file with WordPress environment.

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.

Basis of: locate_template()

No Hooks.

Return

Null. Nothing.

Usage

load_template( $_template_file, $require_once, $args );
$_template_file(string) (required)
Path to template file.
$require_once(true/false)
Whether to require_once or require.
Default: true
$args(array)
Additional arguments passed to the template.
Default: empty array

Notes

  • Global. Array. $posts
  • Global. WP_Post. $post Global post object.
  • Global. true/false. $wp_did_header
  • Global. WP_Query. $wp_query WordPress Query object.
  • Global. WP_Rewrite. $wp_rewrite WordPress rewrite component.
  • Global. wpdb. $wpdb WordPress database abstraction object.
  • Global. String. $wp_version
  • Global. WP. $wp Current WordPress environment instance.
  • Global. Int. $id
  • Global. WP_Comment. $comment Global comment object.
  • Global. Int. $user_ID

Changelog

Since 1.5.0 Introduced.
Since 5.5.0 The $args parameter was added.

Code of load_template() WP 5.5.1

<?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;
	}
}

From category: Theme files connection

No comments
    Log In . Register