您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程
wordpress模板机制分析介绍
秋翠2025-03-25 15:42:01WordPress教程已有7人查阅
导读我们以一个简单的模板为例子,继续说说wordpress的模板机制,看看做一个自己的模板需要哪些知识点。页面模板渲染wordpress的模板位于wp-content/themes目录下,wordpress可以自
我们以一个简单的模板为例子,继续说说wordpress的模板机制,看看做一个自己的模板需要哪些知识点。页面模板渲染wordpress的模板位于wp-content/themes目录下,wordpress可以自动加载新增的模板目录。通过上一节的简单介绍,知道wordpress默认打开时会查找home.php或者index.php。我们先看看wordpress自带的模板twentyfifteen的index.php页面。
除了加载模板的php文件,index.php中还调用了wordpress中定义的一些函数,下面我们看看这些函数是 干什么的。 $wp_query是在初始化时创建的WP_Query对象;
$GLOBALS['wp_query'] = new WP_Query();
在wp-setting.php中执行。该对象的have_posts()返回当前的url查询罗辑下是否还是需要显示的post。
the_post()将全局的$post对象设置为下一个选择的post。 上面的代码是一个通用的加载模板php文件的函数,类似于get_header,但是比他们更通用。通过槽位和name的限定,来实现更灵活的加载模板。 上面这行代码会加载 content.php模板文件,其中包含了一个post显示的html代码 content.php是页面里一个post的显示模板,排版什么的我们先不关心, 看看里面用到的wordpress的函数。这些函数主要在post-template.php中
the_ID(): echo当前post的id 只列出了几个要紧的函数,wordpress就是通过这些一个个的代码片段,最终拼接出一个完整的显示页面。页面的数据获取
上面主要说了在获取数据后,如何用数据拼接成一个完整的页面。继续来看看数据是如何获取的。
wordpress在query.php文件中定以了一个WP_Query类,这个类负责对GET和POST请求的参数进行解析,维护在一个页面显示周期里所需要的数据读取。封装了基本的数据读取工作。
主要的数据读取在WP_Query的 get_posts()函数中,该函数有一千多行,主要就是利用$wpdb从数据库读取数据,封装到对应的POST对象中。get_posts()函数可能在 在WP_Query构造时调用,主要依赖于是否传入了查询字符串。 WP_Query的 init函数主要建立一个干净的变量环境。get_posts函数中有大量的各种参数的解析罗辑。
WP类的main函数是调用页面数据的入口。其中会建立查询字符串,然后调用上面的query函数来检索相应的post。打开首页是传入的查询字符串对象为空。
函数get_posts中会按照查询参数,拼接处要使用的sql语句,代码很长,杂,逻辑比较多。拼好字符串后,在用$wpdb这个wpdb类实例(wp-db.php文件中)来进行数据库操作。这个类中封装了读取mysql的代码。
这个index.php里的代码很简单,只描述了怎么去展示首页的逻辑。代码中有get_header(), get_sidebar(), get_footer()三个加载函数,分别加载页面的头部,尾部和侧边栏。一般来说,网站的这三个部分是公用的,所以wordpress抽象了三个函数,来实现代码的重用。以 get_sidebar()的代码为例,看看是如何加载页面的不同部分的。
这个函数默认加载的是sidebar.php文件,也可以传入不同的$name,来加载sidebar-{$name}.php类型的php文件,实现不同的页面可以load不同的侧边栏,头部和尾部的代码与侧边栏的代码类似。wordpress中模板的php文件加载均采用了类似的罗辑。除了加载模板的php文件,index.php中还调用了wordpress中定义的一些函数,下面我们看看这些函数是 干什么的。 $wp_query是在初始化时创建的WP_Query对象;
$GLOBALS['wp_query'] = new WP_Query();
在wp-setting.php中执行。该对象的have_posts()返回当前的url查询罗辑下是否还是需要显示的post。
the_post()将全局的$post对象设置为下一个选择的post。 上面的代码是一个通用的加载模板php文件的函数,类似于get_header,但是比他们更通用。通过槽位和name的限定,来实现更灵活的加载模板。 上面这行代码会加载 content.php模板文件,其中包含了一个post显示的html代码 content.php是页面里一个post的显示模板,排版什么的我们先不关心, 看看里面用到的wordpress的函数。这些函数主要在post-template.php中
the_ID(): echo当前post的id 只列出了几个要紧的函数,wordpress就是通过这些一个个的代码片段,最终拼接出一个完整的显示页面。页面的数据获取
上面主要说了在获取数据后,如何用数据拼接成一个完整的页面。继续来看看数据是如何获取的。
wordpress在query.php文件中定以了一个WP_Query类,这个类负责对GET和POST请求的参数进行解析,维护在一个页面显示周期里所需要的数据读取。封装了基本的数据读取工作。
主要的数据读取在WP_Query的 get_posts()函数中,该函数有一千多行,主要就是利用$wpdb从数据库读取数据,封装到对应的POST对象中。get_posts()函数可能在 在WP_Query构造时调用,主要依赖于是否传入了查询字符串。 WP_Query的 init函数主要建立一个干净的变量环境。get_posts函数中有大量的各种参数的解析罗辑。
WP类的main函数是调用页面数据的入口。其中会建立查询字符串,然后调用上面的query函数来检索相应的post。打开首页是传入的查询字符串对象为空。
函数get_posts中会按照查询参数,拼接处要使用的sql语句,代码很长,杂,逻辑比较多。拼好字符串后,在用$wpdb这个wpdb类实例(wp-db.php文件中)来进行数据库操作。这个类中封装了读取mysql的代码。
本文标签:
很赞哦! (1)
下一篇:wordpress配置步骤教程
暂无内容 |
暂无内容 |
相关文章
暂无内容 |
暂无内容 |
随机图文
9款wordpress主题推荐
简洁的双栏响应式主题,支持图片轮播、顶部自定义、侧边栏文章聚合、广告栏、点赞和社交化分享等功能。也是我自己一直在用的主题。wordpress音乐插件的使用方法
使用wordpress可以在网上能找些很多的音乐播放器的插件,今天我们就来看一下WordPress的网易云音乐插件的使用方法wordpress自动接入熊掌号的方法
将『你的熊掌号ID』改为你自己真正的熊掌号ID,具体ID获取可以登录熊掌号后点击页面改造后即可看到:wordpress迁移服务器的方法示例
标签(空格分隔): 未分类历经两天,从完全对服务器方面的内容不懂的小白终于将服务器给迁移了打开 第一步,将wordpress文件,以及数据库导出。打开到处的网站文件,第一级目录,里面有
留言与评论 (共有 0 条评论) |