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 flush类输出缓冲剖析
Oct 19 PHP
通过JavaScript或PHP检测Android设备的代码
Mar 09 PHP
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
Feb 24 PHP
Thinkphp使用mongodb数据库实现多条件查询方法
Jun 26 PHP
php中字符串和正则表达式详解
Oct 23 PHP
初识laravel5
Mar 02 PHP
joomla组件开发入门教程
May 04 PHP
总结PHP中DateTime的常用方法
Aug 11 PHP
[原创]php正则删除img标签的方法示例
May 27 PHP
PHP小白必须要知道的php基础知识(超实用)
Oct 10 PHP
Ajax+PHP实现的模拟进度条功能示例
Feb 11 PHP
PHP tp5中使用原生sql查询代码实例
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
无限级别菜单的实现
2006/10/09 PHP
php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
2012/03/27 PHP
TopList标签和JavaScript结合两例
2007/08/12 Javascript
使用SyntaxHighlighter实现HTML高亮显示代码的方法
2010/02/04 Javascript
jQuery getJSON 处理json数据的代码
2010/07/26 Javascript
js字符串转换成xml对象并使用技巧解读
2013/04/18 Javascript
javascript预加载图片、css、js的方法示例介绍
2013/10/14 Javascript
jquery的ajax跨域请求原理和示例
2014/05/08 Javascript
Node.js中使用mongoskin操作mongoDB实例
2014/09/28 Javascript
JavaScript操作Oracle数据库示例
2015/03/06 Javascript
jQuery实现dialog设置focus焦点的方法
2015/06/10 Javascript
jquery实现简单实用的打分程序实例
2015/07/23 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
2017/07/05 NodeJs
Vue的属性、方法、生命周期实例代码详解
2019/09/17 Javascript
JS实现网页端猜数字小游戏
2020/03/06 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
10款最好的Web开发的 Python 框架
2015/03/18 Python
python获取标准北京时间的方法
2015/03/24 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
2018/01/31 Python
Django中的Signal代码详解
2018/02/05 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
2020/05/15 Python
浅谈如何使用python抓取网页中的动态数据实现
2020/08/17 Python
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
2013/01/31 HTML / CSS
让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)
2014/04/08 HTML / CSS
美国婴童服装市场上的领先品牌:Carter’s
2018/02/08 全球购物
Ref与out有什么不同
2012/11/24 面试题
六一儿童节演讲稿
2014/05/23 职场文书
中学生秋季运动会广播稿
2014/09/21 职场文书
临床医学生职业规划书范文
2014/10/25 职场文书
2015年市场部工作总结
2015/04/30 职场文书
2015年端午节活动策划书
2015/05/05 职场文书
公司文体活动总结
2015/05/07 职场文书
2016抗战胜利71周年红领巾广播稿
2015/12/18 职场文书
初三数学教学反思
2016/02/17 职场文书
Go语言使用select{}阻塞main函数介绍
2021/04/25 Golang