WordPress中用于检索模版的相关PHP函数使用解析 locate_template() 用来检索存在的优先级最高的模板文件,还能直接加载模板文件。 locate_template() 函数检索时,如果有子主题则优先使用子主题的模板,没有再继续检索父主题。 用法 locate_template( $template_names, $load, $require_once ); 参数 $template_names (数组)(必须)要引入的模板文件名(需要扩展名),会根据数组逐个匹配文件是否存在,越前边的优先级越高。 默认值:None $load (布尔)(可选)如果设置成 True 则直接引入模板文件。 默认值:False $require_once (布尔)(可选)如果设置成 True 则如果之前引入过这次不再引入(require_once),否则无论是否引入过都会引入(require)。 (只有 $load 为 True,此参数才生效)。 默认值:False 返回值 (字符串)只要有一个指定的模板文件存在则返回它的路径,否则返回空字符串。 例子 if( locate_template( 'content-' . $pageName . '.php' ) !== '' ){ //存在,引入模板文件 get_template_part( 'content', $pageName ); }else{ //不存在,直接显示内容 the_content(); } 其它 此函数位于:wp-includes/template.php 快速检索模板 get_query_template() 用于快速检索出页面模板,而且需要按照预定的页面类型(type)。 它和 locate_template() 的不同在于需要填写页面的类型,而且会生成 {$type}_template 模板路径过滤器。 用法 get_query_template( $type, $templates ); 参数 $type (字符串)(必须)所要获取的模板文件的页面的类型,要填对应模板文件没有扩展名的文件名(比如 single)。 默认值:None $templates (数组)(可选)备选的模板列表。 默认值:空数组 返回值 返回模板文件的路径。 例子 如果存在则引入 404 页面的模板: if ( '' != get_404_template() ) include( get_404_template() ); 其它 此函数位于:wp-includes/template.php