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


Posted in PHP onDecember 15, 2015

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 相关文章推荐
PHP 5.3新特性命名空间规则解析及高级功能
Mar 11 PHP
PHP中通过加号合并数组的一个简单方法分享
Jan 27 PHP
sphinx增量索引的一个问题
Jun 14 PHP
PHP性能分析工具XHProf安装使用教程
May 13 PHP
php文件读取方法实例分析
Jun 20 PHP
php使用gzip压缩传输js和css文件的方法
Jul 29 PHP
Yii框架组件和事件行为管理详解
May 20 PHP
浅谈php中变量的数据类型判断函数
Mar 04 PHP
PHP多种序列化/反序列化的方法详解
Jun 23 PHP
PHP token验证生成原理实例分析
Jun 05 PHP
php日志函数error_log用法实例分析
Sep 23 PHP
Laravel框架源码解析之入口文件原理分析
May 14 PHP
修改WordPress中文章编辑器的样式的方法详解
Dec 15 #PHP
PHP工程师VIM配置分享
Dec 15 #PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
Dec 14 #PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
Dec 14 #PHP
php生成curl命令行的方法
Dec 14 #PHP
编写PHP脚本使WordPress的主题支持Widget侧边栏
Dec 14 #PHP
给WordPress中的留言加上楼层号的PHP代码实例
Dec 14 #PHP
You might like
德生PL330测评
2021/03/02 无线电
PHP+FLASH实现上传文件进度条相关文件 下载
2007/07/21 PHP
php匹配字符中链接地址的方法
2014/12/22 PHP
Yii2第三方类库插件Imagine的安装和使用
2017/07/06 PHP
使用PHPWord生成word文档的方法详解
2019/06/06 PHP
javascript不同页面传值的改进版
2008/09/30 Javascript
AngularJS指令用法详解
2016/11/02 Javascript
javascript监听页面刷新和页面关闭事件方法详解
2017/01/09 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
javascript性能优化之分时函数的介绍
2018/03/28 Javascript
浅谈KOA2 Restful方式路由初探
2019/03/14 Javascript
微信小程序 高德地图路线规划实现过程详解
2019/08/05 Javascript
Vue实现开心消消乐游戏算法
2019/10/22 Javascript
javascript实现留言板功能
2020/02/08 Javascript
[05:01]3.19DOTA2发布会 我们都是刀塔人
2014/03/25 DOTA
[03:43]TI9战队采访——PSG.LGD
2019/08/22 DOTA
利用Python自动监控网站并发送邮件告警的方法
2016/08/24 Python
关于numpy中np.nonzero()函数用法的详解
2017/02/07 Python
Python实现获取命令行输出结果的方法
2017/06/10 Python
基于Python List的赋值方法
2018/06/23 Python
python递归全排列实现方法
2018/08/18 Python
Python常用爬虫代码总结方便查询
2019/02/25 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
Python实现线性判别分析(LDA)的MATLAB方式
2019/12/09 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
英国标志性生活方式品牌:Skinnydip London
2019/12/15 全球购物
期末自我鉴定
2014/01/23 职场文书
市场营销管理毕业生自荐信
2014/03/03 职场文书
爱情保证书大全
2014/04/29 职场文书
党员教师一句话承诺
2014/05/30 职场文书
工程部部长岗位职责
2015/02/12 职场文书
廉政承诺书范文
2015/04/28 职场文书
深入理解python协程
2021/06/15 Python
Python中的 No Module named ***问题及解决
2022/07/23 Python