WordPress中用于检索模版的相关PHP函数使用解析

yipeiwu_com5年前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

相关文章

php md5下16位和32位的实现代码

复制代码 代码如下:<?php   echo substr(md5("admin"),8,16);  // 16位MD5...

php is_file()和is_dir()用于遍历目录时用法注意事项

1、目录inc有以下内容: 子目录 0 子目录 a footer.html header.html login_function.inc.php mysqli_connect.php s...

php检查页面是否被百度收录

最近需要检测网站内哪些页面没有被百度搜索引擎收录从而进行相关的调整。由于使用site命令一条条的去看实在是看不过来,就想到了使用php程序来批量处理一下,研究了一下,发现其实很简单,下面...

php如何比较两个浮点数是否相等详解

前言 本文主要给大家介绍了关于利用php如何比较浮点数是否相等的相关内容,下面话不多说了,来一起看看详细的介绍吧 看下面这段代码, 0.9+0.1 的相加结果与 1 进行比较 &...

详解php中空字符串和0之间的关系

前言 最近在处理关于经纬度的问题时,在建表的时候,选择用字符串varchar存储经度、纬度。为以后的问题埋下伏笔。下面话不多说,我们来看看详细的介绍。 $_x=$row["x"];...