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 会话(session 时间设定)使用入门代码
Jun 05 PHP
php 中文和编码判断代码
May 16 PHP
PHP操作mysql函数详解,mysql和php交互函数
May 19 PHP
PHP防止跨域提交表单
Nov 01 PHP
php过滤XSS攻击的函数
Nov 12 PHP
CI框架装载器Loader.php源码分析
Nov 04 PHP
PHP获取文件夹内文件数的方法
Mar 12 PHP
PHP 接入微信扫码支付总结(总结篇)
Nov 03 PHP
微信小程序 消息推送php服务器验证实例详解
Mar 30 PHP
Laravel框架之解决前端显示图片问题
Oct 24 PHP
PHP 对象继承原理与简单用法示例
Apr 21 PHP
php + ajax 实现的写入数据库操作简单示例
May 16 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
php常用字符串处理函数实例分析
2014/11/22 PHP
PHP页面跳转操作实例分析(header方法)
2016/09/28 PHP
laravel 关联关系遍历数组的例子
2019/10/10 PHP
PHP延迟静态绑定使用方法实例解析
2020/09/05 PHP
Js组件的一些写法
2010/09/10 Javascript
基于jquery的内容循环滚动小模块(仿新浪微博未登录首页滚动微博显示)
2011/03/28 Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
2014/01/10 Javascript
jquery判断元素的子元素是否存在的示例代码
2014/02/04 Javascript
Jquery实现由下向上展开效果的例子
2014/12/08 Javascript
JavaScript动态加载样式表的方法
2015/03/21 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
2016/01/04 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
详解AngularJS2 Http服务
2017/06/26 Javascript
[49:40]2018DOTA2亚洲邀请赛小组赛 A组加赛 TNC vs Newbee
2018/04/03 DOTA
Python入门篇之字典
2014/10/17 Python
详解Python之unittest单元测试代码
2018/01/24 Python
Python机器学习之K-Means聚类实现详解
2018/02/22 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
2019/02/22 Python
Python 如何优雅的将数字转化为时间格式的方法
2019/09/26 Python
Windows下实现将Pascal VOC转化为TFRecords
2020/02/17 Python
解决pip安装的第三方包在PyCharm无法导入的问题
2020/10/15 Python
Python实现区域填充的示例代码
2021/02/03 Python
美国设计师精美珠宝购物网:Netaya
2016/08/28 全球购物
Python面试题:Python是如何进行内存管理的
2014/08/04 面试题
《童趣》教学反思
2014/02/19 职场文书
《我不是最弱小的》教学反思
2014/02/23 职场文书
外贸员简历中的自我评价
2014/03/04 职场文书
农民工工资承诺书范文
2014/03/31 职场文书
员工保密协议书
2014/09/27 职场文书
2015年城管执法工作总结
2015/07/23 职场文书
2016年春季运动会通讯稿
2015/11/25 职场文书
励志语录:你若不勇敢,谁替你坚强
2019/11/08 职场文书
python基础详解之if循环语句
2021/04/24 Python
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python
Java存储没有重复元素的数组
2022/04/29 Java/Android
JavaScript中10个Reduce常用场景技巧
2022/06/21 Javascript