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 XML备份Mysql数据库
May 27 PHP
php 字符串替换的方法
Jan 10 PHP
PHP中如何调用webservice的实例参考
Apr 25 PHP
PHP如何利用P3P实现跨域
Aug 24 PHP
PHP中iconv函数知识汇总
Jul 02 PHP
php生成高清缩略图实例详解
Dec 07 PHP
php强大的时间转换函数strtotime
Feb 18 PHP
thinkPHP5.0框架引入Traits功能实例分析
Mar 18 PHP
PHP实现Session入库/存入redis的方法
May 04 PHP
PHP中的日期时间处理利器实例(Carbon)
Jun 09 PHP
laravel5环境隐藏index.php后缀(apache)的方法
Oct 12 PHP
深入分析PHP设计模式
Jun 15 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
yii框架源码分析之创建controller代码
2011/06/28 PHP
php加速器eAccelerator的配置参数、API详解
2014/05/05 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
PHP缩略图生成和图片水印制作
2017/01/07 PHP
jquery 1.3.2 IE8中的一点点的小问题解决方法
2009/07/10 Javascript
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
jQuery 行级解析读取XML文件(附源码)
2009/10/12 Javascript
读jQuery之十一 添加事件核心方法
2011/07/31 Javascript
40款非常棒的jQuery 插件和制作教程(系列一)
2011/10/26 Javascript
javascript中获取下个月一号,是星期几
2012/06/01 Javascript
jquery结婚电子请柬特效源码分享
2015/08/21 Javascript
js焦点文字滚动效果代码分享
2015/08/25 Javascript
早该知道的7个JavaScript技巧
2016/06/21 Javascript
Vue.extend构造器的详解
2017/07/17 Javascript
phantomjs导出html到pdf的方法总结
2017/10/19 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
深入理解Vue 的钩子函数
2018/09/05 Javascript
JavaScript HTML DOM元素 节点操作汇总
2019/07/29 Javascript
Vue 权限控制的两种方法(路由验证)
2019/08/16 Javascript
[00:12]2018DOTA2亚洲邀请赛 sylar表现SOLO技艺
2018/04/06 DOTA
Python标准异常和异常处理详解
2015/02/02 Python
Python切换pip安装源的方法详解
2016/11/18 Python
对Python中range()函数和list的比较
2018/04/19 Python
python根据list重命名文件夹里的所有文件实例
2018/10/25 Python
python导入模块交叉引用的方法
2019/01/19 Python
在Python中通过getattr获取对象引用的方法
2019/01/21 Python
Python实现连接MySql数据库及增删改查操作详解
2019/04/16 Python
使用django的ORM框架按月统计近一年内的数据方法
2019/07/18 Python
python实现画循环圆
2019/11/23 Python
html5 利用canvas手写签名并保存的实现方法
2018/07/12 HTML / CSS
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
ROSEFIELD手表荷兰官方网上商店:北欧极简设计女士腕表品牌
2018/01/24 全球购物
租房协议书
2014/09/12 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
中秋节祝酒词
2015/08/12 职场文书
python中urllib包的网络请求教程
2022/04/19 Python