昊天SEO

WordPress 初始化核心文件 query.php 源码分析

query.php 文件位于 wp-includes 目录下,定义 WP 查询请求 API(如文章或页面请求内容、评论等),无执行代码,它定义一个类 WP_Query,并定义可以将其实例化的函数 query_posts,将其实例化为对象 $wp_query,同时定义了很多可以从该对象中取值的 API;该类功能强大,它可以用来判断当前页面类型(如文章页、标签页、作者页、首页等)、获取文章内容、获取最新的N篇文章等;该类在 WordPress 中属于比较重要的一个类,其部分重要属性和方法如下:

类属性(仅列部分以作示例)

• $query,存储通过类传递到对象 $wp_query 中的查询字符串;

• $query_vars,本身是一个数组,可用于查询数组及其值;

• $request,存储从数据库得到文章数据;

• $posts,存储文章列表;

• $post_count,存储要展示的文章数;

• $post,存储当前文章ID;

• $comments,存储当前文章评论列表;

• $is_single,存储当前请求是否是一个文章页;

• $is_archive,存储当前请求是否是一个分类页;

• $is_month,存储当前请求是否是一个按月集合页;

• $is_tag,存储当前请求是否是一个按标签集合页;

• $is_404,存储当前请求是否是一个404页;

类方法(仅列部分以作示例)

• init_query_flags(),重置所有属性为flase;

• init(),启动对象属性并设置相应初始值;

• parse_query(),解析请求,如判断请求页面到底是哪种类型页面;

• get(),获取已命名的变量;

• set(),设置变量值;

• &get_posts(),从数据库获取文章;

• next_post(),获取当前文章的下篇文章;

• the_post(),主循环中定义当前库文章;

• have_posts(),主循环中检测是否还有需要展示文章;

• next_comment(),下一评论;

除了用于获取文章和评论信息,该类的方法还可用来获取分类目录信息、标签信息、搜索页面信息、分页信息、排序后信息展示、置顶文章等等,几乎所有的前台信 息展示都是使用该类的方法完成的,同时插件的加载及主题中需要预加载的文件如主题内functions.php 等。注:有些函数值是由该类的方法生成,故可能从代码上看不出跟该类的关联;

本文地址官网    新乡网站建设,seo

分享到:更多 ()
a