load_template

函数
load_template ( $_template_file, $require_once = true, $args = array() )
参数
  • (string) $_template_file Path to template file.
    Required:
  • (bool) $require_once Whether to require_once or require. Default true.
    Required:
    Default: true
  • (array) $args Optional. Additional arguments passed to the template. Default empty array.
    Required:
    Default: array()
定义位置
相关方法
locate_templateget_templateget_block_templatelocate_block_templateget_paged_template
引入
1.5.0
弃用
-

load_template: 这是WordPress中的一个函数,用来加载一个模板文件。你可以使用这个函数为你网站上的一个页面、文章或其他内容加载一个特定的模板文件。

需要有WordPress环境的模板文件。

为模板文件设置全局设置,以确保WordPress环境在功能内可用。查询变量也可用。

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

	/**
	 * Fires before a template file is loaded.
	 *
	 * @since 6.1.0
	 *
	 * @param string $_template_file The full path to the template file.
	 * @param bool   $require_once   Whether to require_once or require.
	 * @param array  $args           Additional arguments passed to the template.
	 */
	do_action( 'wp_before_load_template', $_template_file, $require_once, $args );

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

	/**
	 * Fires after a template file is loaded.
	 *
	 * @since 6.1.0
	 *
	 * @param string $_template_file The full path to the template file.
	 * @param bool   $require_once   Whether to require_once or require.
	 * @param array  $args           Additional arguments passed to the template.
	 */
	do_action( 'wp_after_load_template', $_template_file, $require_once, $args );
}

常见问题

FAQs
查看更多 >