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数组总结篇(一)
Sep 30 PHP
php下保存远程图片到本地的办法
Aug 08 PHP
fgetcvs在linux的问题
Jan 15 PHP
php include和require的区别深入解析
Jun 17 PHP
php中getservbyport与getservbyname函数用法实例
Nov 18 PHP
php计算一个文件大小的方法
Mar 30 PHP
php实现在多维数组中查找特定value的方法
Jul 29 PHP
php自动载入类用法实例分析
Jun 24 PHP
PHP实现的XML操作类【XML Library】
Dec 29 PHP
php中get_magic_quotes_gpc()函数说明
Feb 06 PHP
PHP实现的超长文本分页显示功能示例
Jun 04 PHP
tp5使用layui实现多个图片上传(带附件选择)的方法实例
Nov 17 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概述.
2006/10/09 PHP
无数据库的详细域名查询程序PHP版(3)
2006/10/09 PHP
Linux下进行MYSQL编程时插入中文乱码的解决方案
2007/03/15 PHP
PHP中mysqli_affected_rows作用行数返回值分析
2014/12/26 PHP
php+ajax实现无刷新动态加载数据技术
2015/04/28 PHP
ThinkPHP里用U方法调用js文件实例
2015/06/18 PHP
使用jQuery模板来展现json数据的代码
2010/10/22 Javascript
javascript权威指南 学习笔记之变量作用域分享
2011/09/28 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
创建、调用JavaScript对象的方法集锦
2014/12/24 Javascript
JavaScript中的全局对象介绍
2015/01/01 Javascript
EasyUI中datagrid在ie下reload失败解决方案
2015/03/09 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
2015/06/19 Javascript
js replace()去除代码中空格的实例
2017/02/14 Javascript
JavaScript手风琴页面制作
2017/05/17 Javascript
JS实现的全选、全不选及反选功能【案例】
2019/02/19 Javascript
如何使用pm2快速将项目部署到远程服务器
2019/03/12 Javascript
如何获取vue单文件自身源码路径
2019/05/06 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
[01:35]辉夜杯战队访谈宣传片—iG.V
2015/12/25 DOTA
[46:37]LGD vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
对python:print打印时加u的含义详解
2018/12/15 Python
如何基于pandas读取csv后合并两个股票
2020/09/25 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
HTML实现代码雨源码及效果示例
2020/02/25 HTML / CSS
家庭睡衣和家庭用品:Little Blue House
2018/03/18 全球购物
来自圣地亚哥的实惠太阳镜:Knockaround
2018/08/27 全球购物
印尼综合在线预订网站:Tiket.com(机票、酒店、火车、租车和娱乐)
2018/10/11 全球购物
英国领先的电视购物零售商:Ideal World
2019/03/18 全球购物
老教师工作总结的自我评价
2013/09/27 职场文书
简历自我评价怎么写好呢?
2014/01/04 职场文书
2014年学习雷锋活动总结
2014/03/01 职场文书
大型会议接待方案
2014/03/01 职场文书
解除同居协议书
2015/01/29 职场文书
违反纪律检讨书范文
2015/05/07 职场文书
Nginx利用Logrotate实现日志分割
2022/05/20 Servers