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的access操作类
Apr 09 PHP
一个php Mysql类 可以参考学习熟悉下
Jun 21 PHP
php引用计数器进行垃圾收集机制介绍
Sep 19 PHP
使用phpQuery采集网页的方法
Nov 13 PHP
PHP 登录完成后如何跳转上一访问页面
Jan 14 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
Mar 11 PHP
浅谈php和.net的区别
Sep 28 PHP
PHP开发Apache服务器配置
Jul 15 PHP
php bootstrap实现简单登录
Mar 08 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
Jan 17 PHP
Laravel 模型关联基础教程详解
Sep 17 PHP
thinkphp5+layui实现的分页样式示例
Oct 08 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()函数返回json数据实例代码
2014/10/10 PHP
php基于websocket搭建简易聊天室实践
2016/10/24 PHP
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
2013/11/12 Javascript
用简洁的jQuery方法toggleClass实现隔行换色
2014/10/22 Javascript
js实现鼠标滑过文字链接色彩变化的效果
2015/05/06 Javascript
基于jQuery实现在线选座之高铁版
2015/08/24 Javascript
JS实现不规则TAB选项卡效果代码
2015/09/16 Javascript
javascript中的作用域和闭包详解
2016/01/13 Javascript
AngularJS中$http使用的简单介绍
2017/03/17 Javascript
socket.io学习教程之基础介绍(一)
2017/04/29 Javascript
javascript用rem来做响应式开发
2018/01/13 Javascript
3种vue路由传参的基本模式
2018/02/22 Javascript
JS实现随机抽取三人
2019/11/06 Javascript
浅谈vue中组件绑定事件时是否加.native
2019/11/09 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
修改vue源码实现动态路由缓存的方法
2020/01/21 Javascript
解决React在安装antd之后出现的Can't resolve './locale'问题(推荐)
2020/05/03 Javascript
js实现电灯开关效果
2021/01/19 Javascript
Python探索之实现一个简单的HTTP服务器
2017/10/28 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
2018/09/02 Python
python队列原理及实现方法示例
2019/11/27 Python
Python MOCK SERVER moco模拟接口测试过程解析
2020/04/13 Python
Python 中由 yield 实现异步操作
2020/05/04 Python
如何利用python web框架做文件流下载的实现示例
2020/06/02 Python
Django数据库迁移常见使用方法
2020/11/12 Python
用React加CSS3实现微信拆红包动画效果
2017/03/13 HTML / CSS
英国知名的护肤彩妆与时尚配饰大型综合零售电商:Unineed
2016/11/21 全球购物
美国廉价机票预订网站:Cheapfaremart
2018/04/28 全球购物
物理专业大学生职业生涯规划书
2014/02/07 职场文书
合作意向协议书范本
2014/03/31 职场文书
抗震救灾标语
2014/06/26 职场文书
文言文辞职信
2015/02/28 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书
2016年中学端午节主题活动总结
2016/04/01 职场文书
Nginx解决前端访问资源跨域问题的方法详解
2021/03/31 Servers
html网页引入svg图片的4种方式
2022/08/05 HTML / CSS