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 相关文章推荐
Zend Guard一些常见问题解答
Sep 11 PHP
PHP下利用header()函数设置浏览器缓存的代码
Sep 01 PHP
探讨多键值cookie(php中cookie存取数组)的详解
Jun 06 PHP
php统计文章排行示例
Mar 04 PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
Jun 10 PHP
javascript+php实现根据用户时区显示当地时间的方法
Mar 11 PHP
php删除指定目录的方法
Apr 03 PHP
支持中文、字母、数字的PHP验证码
May 04 PHP
PHPCMS忘记后台密码的解决办法
Oct 30 PHP
PHPExcel在linux环境下导出报500错误的解决方法
Jan 26 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
Aug 11 PHP
THINKPHP5分页数据对象处理过程解析
Oct 28 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性能测试工具xhprof的详解
2013/06/03 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
CodeIgniter针对数据库的连接、配置及使用方法
2016/03/03 PHP
PHP的静态方法与普通方法用法实例分析
2019/09/26 PHP
七种PHP开发环境搭建工具
2020/06/28 PHP
javascript 极速 隐藏/显示万行表格列只需 60毫秒
2009/03/28 Javascript
js解析与序列化json数据(三)json的解析探讨
2013/02/01 Javascript
通过JavaScript使Div居中并随网页大小改变而改变
2013/06/24 Javascript
javascript中的toFixed固定小数位数 简单实例分享
2013/07/12 Javascript
js设置cookie过期及清除浏览器对应名称的cookie
2013/10/24 Javascript
jQuery实现带动画效果的二级下拉导航方法
2015/03/11 Javascript
nodejs实现遍历文件夹并统计文件大小
2015/05/28 NodeJs
JQuery.Ajax()的data参数类型实例详解
2015/11/20 Javascript
js处理层级数据结构的方法小结
2017/01/17 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
在 Angular 中实现搜索关键字高亮示例
2017/03/21 Javascript
利用JavaScript实现栈的数据结构示例代码
2017/08/02 Javascript
详解使用Visual Studio Code对Node.js进行断点调试
2017/09/14 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
2018/09/27 Javascript
Vue实现商品分类菜单数量提示功能
2019/07/26 Javascript
聊聊鉴权那些事(推荐)
2019/08/22 Javascript
python实现根据ip地址反向查找主机名称的方法
2015/04/29 Python
Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
2017/09/28 Python
简单了解python的一些位运算技巧
2019/07/13 Python
python给图像加上mask,并提取mask区域实例
2020/01/19 Python
python 实现多维数组(array)排序
2020/02/28 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
如何向scrapy中的spider传递参数的几种方法
2020/11/18 Python
Pretty Little Thing爱尔兰:时尚女性服饰
2017/03/27 全球购物
美国健康和保健平台:healtop
2020/07/02 全球购物
医科大学生毕业的自我评价分享
2013/11/12 职场文书
车间统计员岗位职责
2014/01/05 职场文书
授权委托书
2014/07/31 职场文书
小学“向国旗敬礼”网上签名寄语活动总结
2014/09/27 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
Python批量解压&压缩文件夹的示例代码
2022/04/04 Python