load_template( string $_template_file, bool $require_once = true, array $args = array() )
Require the template file with WordPress environment.
Contents
Description 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.
Parameters 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()
More Information 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
Source 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; } }
Expand full source code Collapse full source code View on Trac
Changelog Changelog
Version | Description |
---|---|
5.5.0 | The $args parameter was added. |
1.5.0 | Introduced. |
User Contributed Notes User Contributed Notes
You must log in before being able to contribute a note or feedback.
Loading a template in a plugin, but allowing theme and child theme to override template
Expand full source codeCollapse full source code
Send variable with load_template()
you can send additional variable with load_template(). load_template() extracts all of the WP_Query query variables, into the scope of the loaded template.
use set_query_var() to make your variable available to the template part.
In template.php file you can access this variable like this