Don't use require_once for get_template_part(). fixes #12958.
git-svn-id: http://svn.automattic.com/wordpress/trunk@14075 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
4975bf8ed8
commit
3c5115f15f
|
@ -103,6 +103,9 @@ function get_sidebar( $name = null ) {
|
||||||
* specialised part will be included. If the theme contains no {slug}.php file
|
* specialised part will be included. If the theme contains no {slug}.php file
|
||||||
* then no template will be included.
|
* then no template will be included.
|
||||||
*
|
*
|
||||||
|
* The template is included using require, not require_once, so you may include the
|
||||||
|
* same template part multiple times.
|
||||||
|
*
|
||||||
* For the parameter, if the file is called "{slug}-special.php" then specify
|
* For the parameter, if the file is called "{slug}-special.php" then specify
|
||||||
* "special".
|
* "special".
|
||||||
*
|
*
|
||||||
|
@ -122,7 +125,7 @@ function get_template_part( $slug, $name = null ) {
|
||||||
|
|
||||||
$templates[] = "{$slug}.php";
|
$templates[] = "{$slug}.php";
|
||||||
|
|
||||||
locate_template($templates, true);
|
locate_template($templates, true, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -986,9 +986,10 @@ function get_comments_popup_template() {
|
||||||
*
|
*
|
||||||
* @param array $template_names Array of template files to search for in priority order.
|
* @param array $template_names Array of template files to search for in priority order.
|
||||||
* @param bool $load If true the template file will be loaded if it is found.
|
* @param bool $load If true the template file will be loaded if it is found.
|
||||||
|
* @param bool $require_once Whether to require_once or require. Default true. Has no effect if $load is false.
|
||||||
* @return string The template filename if one is located.
|
* @return string The template filename if one is located.
|
||||||
*/
|
*/
|
||||||
function locate_template($template_names, $load = false) {
|
function locate_template($template_names, $load = false, $require_once = true ) {
|
||||||
if ( !is_array($template_names) )
|
if ( !is_array($template_names) )
|
||||||
return '';
|
return '';
|
||||||
|
|
||||||
|
@ -1004,13 +1005,13 @@ function locate_template($template_names, $load = false) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $load && '' != $located )
|
if ( $load && '' != $located )
|
||||||
load_template($located);
|
load_template( $located, $require_once );
|
||||||
|
|
||||||
return $located;
|
return $located;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Require once the template file with WordPress environment.
|
* Require the template file with WordPress environment.
|
||||||
*
|
*
|
||||||
* The globals are set up for the template file to ensure that the WordPress
|
* 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
|
* environment is available from within the function. The query variables are
|
||||||
|
@ -1019,14 +1020,18 @@ function locate_template($template_names, $load = false) {
|
||||||
* @since 1.5.0
|
* @since 1.5.0
|
||||||
*
|
*
|
||||||
* @param string $_template_file Path to template file.
|
* @param string $_template_file Path to template file.
|
||||||
|
* @param bool $require_once Whether to require_once or require. Default true.
|
||||||
*/
|
*/
|
||||||
function load_template($_template_file) {
|
function load_template( $_template_file, $require_once = true ) {
|
||||||
global $posts, $post, $wp_did_header, $wp_did_template_redirect, $wp_query, $wp_rewrite, $wpdb, $wp_version, $wp, $id, $comment, $user_ID;
|
global $posts, $post, $wp_did_header, $wp_did_template_redirect, $wp_query, $wp_rewrite, $wpdb, $wp_version, $wp, $id, $comment, $user_ID;
|
||||||
|
|
||||||
if ( is_array($wp_query->query_vars) )
|
if ( is_array( $wp_query->query_vars ) )
|
||||||
extract($wp_query->query_vars, EXTR_SKIP);
|
extract( $wp_query->query_vars, EXTR_SKIP );
|
||||||
|
|
||||||
require_once($_template_file);
|
if ( $require_once )
|
||||||
|
require_once( $_template_file );
|
||||||
|
else
|
||||||
|
require( $_template_file );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue