WordPress是如何在内部解析固定链接的?

时间:2013-12-29 作者:Robin Westerlundh

我正在对重写系统和自定义post\\u类型进行深入修改,但在继续之前,我必须了解WordPress是如何处理重写的。

我找到了函数url\\u to\\u postid(),但WordPress自身没有使用它来将永久链接解析为查询?

例如:如果我连接到pre\\u get\\u post函数,并浏览页面或自定义post\\u类型,则提供的查询现在包括“is\\u page”或“attachment”等,但如果我在何处随机键入URL,则不会显示此数据。WordPress从哪里判断URL是否为页面| posttype |附件?我该怎么做呢?

1 个回复
最合适的回答,由SO网友:Milo 整理而成

如果你看看Action Reference, 您将看到之前执行的所有操作pre_get_posts. 你可能想调查的两个问题是parse_requestparse_query (是的,文件中缺少这些)。

你可能最感兴趣的部分是parse_request, 其中,重写规则与请求的URI匹配。你可以see it in source here.

当前端请求发生时,文件wp-blog-header.php 已加载,调用wp(), 这就叫main() method of the WP class, 这就叫parse_request() 方法在该函数的底部,您将see where the parse_request action is executed.

EDIT

有关更深入的信息,请参阅Codex中的此页:Query Overview

结束

相关推荐

如何在Pluggable.php中添加自定义函数

我正在开发一个WP插件,我想向pluggable添加一个自定义函数。php(位于/wp includes)。我正在从admin调用该函数。php(位于/wp admin)考虑一下功能auth_redirect 这是从admin调用的。php。auth_redirect 是在pluggable中定义的函数。php检查登录的用户,否则它会将他们重定向到登录页面。同样,我有自己的自定义函数。那么,是否有任何特定的钩子或过滤器,我必须使用它们来将我的函数附加到可插拔的。php。目前,我正在使用fwrite() 将