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+FastCGI+Nginx配置PHP运行环境
Aug 07 PHP
PHP基于curl后台远程登录正方教务系统的方法
Oct 14 PHP
PHP与服务器文件系统的简单交互
Oct 21 PHP
PHP中仿制 ecshop验证码实例
Jan 06 PHP
php制作基于xml的RSS订阅源功能示例
Feb 08 PHP
php中Ioc(控制反转)和Di(依赖注入)
May 07 PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
Jun 17 PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
Sep 16 PHP
PHP中单例模式的使用场景与使用方法讲解
Mar 18 PHP
laravel通过a标签从视图向控制器实现传值
Oct 15 PHP
PHP 裁剪图片
Mar 09 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学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
解析yii数据库的增删查改
2013/06/20 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
2014/12/16 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
PHP 实现链式操作
2021/03/09 PHP
[JS]点出统计器
2020/10/11 Javascript
IE 缓存策略的BUG的解决方法
2007/07/21 Javascript
jquery ui对话框实例代码
2013/05/10 Javascript
js验证模型自我实现的具体方法
2013/06/21 Javascript
BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法
2016/06/07 Javascript
vue bootstrap小例子一枚
2017/06/09 Javascript
详解nodejs的express如何自动生成项目框架
2017/07/12 NodeJs
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
深入理解Puppeteer的入门教程和实践
2019/03/05 Javascript
记录一次完整的react hooks实践
2019/03/11 Javascript
微信小程序获取用户绑定手机号方法示例
2019/07/21 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
vue动态渲染svg、添加点击事件的实现
2020/03/13 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
2020/05/19 jQuery
[51:29]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第一场 11.05
2020/11/05 DOTA
python根据出生日期返回年龄的方法
2015/03/26 Python
解决python opencv无法显示图片的问题
2018/10/28 Python
python爬虫-模拟微博登录功能
2019/09/12 Python
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
日本快乐生活方式购物网站:Shop Japan
2018/07/17 全球购物
女大学生毕业找工作的自我评价
2013/10/03 职场文书
护理自我鉴定范文
2013/10/06 职场文书
医药代表个人的求职信分享
2013/12/08 职场文书
职业规划书如何设计?
2014/01/09 职场文书
乱丢垃圾袋检讨书
2014/10/08 职场文书
小学师德师风整改措施
2014/10/27 职场文书
解放思想大讨论活动总结
2015/05/09 职场文书
八年级作文之友情
2019/11/25 职场文书
《宝可梦》动画制作25周年到来 官方发布特别纪念视频
2022/04/01 日漫
gtx1650怎么样 gtx1650显卡相当于什么级别
2022/04/08 数码科技