load_template()
最后更新于:2021-11-27 14:09:28
load_template( string$_template_file, bool$require_once=true, array$args=array())Require the template file with GeChiUI environment.
参数
- $_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()
源文件
文件: gc-includes/template.php
function load_template( $_template_file, $require_once = true, $args = array() ) {
global $posts, $post, $gc_did_header, $gc_query, $gc_rewrite, $gcdb, $gc_version, $gc, $id, $comment, $user_ID;
if ( is_array( $gc_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 GeChiUI.PHP.DontExtract.extract_extract
extract( $gc_query->query_vars, EXTR_SKIP );
}
if ( isset( $s ) ) {
$s = esc_attr( $s );
}
if ( $require_once ) {
require_once $_template_file;
} else {
require $_template_file;
}
}
if ( $overridden_template = locate_template( 'some-template.php' ) ) { /* * locate_template() returns path to file. * if either the child theme or the parent theme have overridden the template. */ load_template( $overridden_template ); } else { /* * If neither the child nor parent theme have overridden the template, * we load the template from the 'templates' sub-directory of the directory this file is in. */ load_template( dirname( __FILE__ ) . '/templates/some-template.php' ); }