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下实现伪 url 的超简单方法[转]
Sep 24 PHP
PHP 防恶意刷新实现代码
May 16 PHP
AJAX的跨域访问-两种有效的解决方法介绍
Jun 22 PHP
彻底删除thinkphp3.1案例blog标签的方法
Dec 05 PHP
PHP获取ip对应地区和使用网络类型的方法
Mar 11 PHP
php读取csc文件并输出
May 21 PHP
wampserver改变默认网站目录的办法
Aug 05 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
Feb 19 PHP
Zend Framework教程之视图组件Zend_View用法详解
Mar 05 PHP
php实现压缩合并js的方法【附demo源码下载】
Sep 22 PHP
浅谈php(codeigniter)安全性注意事项
Apr 06 PHP
如何用RabbitMQ和Swoole实现一个异步任务系统
May 29 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对gzip文件或者字符串解压实例参考
2008/07/25 PHP
php生成随机密码的三种方法小结
2010/09/04 PHP
paypal即时到账php实现代码
2010/11/28 PHP
PHP学习 变量使用总结
2011/03/24 PHP
PHP的PDO常用类库实例分析
2016/04/07 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
javascript call和apply方法
2008/11/24 Javascript
javascript记录文本框内文字个数检测文字个数变化
2014/10/14 Javascript
JQuery显示、隐藏div的几种方法简明总结
2015/04/16 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
全面解析Bootstrap布局组件应用
2016/02/22 Javascript
Bootstrap表单组件教程详解
2016/04/26 Javascript
JS中对象与字符串的互相转换详解
2016/05/20 Javascript
EasyUI在表单提交之前进行验证的实例代码
2016/06/24 Javascript
jQuery实现的图片轮播效果完整示例
2016/09/12 Javascript
Vue过滤器的用法和自定义过滤器使用
2017/02/08 Javascript
EasyUI的TreeGrid的过滤功能的解决思路
2017/08/08 Javascript
详解vuex中mapState,mapGetters,mapMutations,mapActions的作用
2018/04/13 Javascript
浅谈webpack4 图片处理汇总
2018/09/12 Javascript
基于layui实现高级搜索(筛选)功能
2019/07/26 Javascript
Javascript 类型转换、封闭函数及常见内置对象操作示例
2019/11/15 Javascript
vue的三种图片引入方式代码实例
2019/11/19 Javascript
JS实现鼠标按下拖拽效果
2020/07/23 Javascript
django 2.0更新的10条注意事项总结
2018/01/05 Python
详解Python判定IP地址合法性的三种方法
2018/03/06 Python
Python代码缩进和测试模块示例详解
2018/05/07 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
2019/07/11 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
在django项目中导出数据到excel文件并实现下载的功能
2020/03/13 Python
Python调用百度OCR实现图片文字识别的示例代码
2020/07/17 Python
Python爬取网页信息的示例
2020/09/24 Python
Html5调用手机摄像头并实现人脸识别的实现
2018/12/21 HTML / CSS
甜品蛋糕店创业计划书范文
2014/02/06 职场文书
2014年加油站工作总结
2014/12/04 职场文书
使用Nginx+Tomcat实现负载均衡的全过程
2022/05/30 Servers