WordPress何时何地调用路径

时间:2015-07-21 作者:Snowcrash

我想为其中一个URL创建一个类别归档,尽管有匹配的路由和模板,我还是想到了404。

我正在浏览核心WordPress代码(groan),但还没有弄清楚在哪里调用路由。

类别似乎是由query.phpparse_query 函数,但我看不到用于将URL映射到文件的路由的位置。

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

parse_query 是完成大部分工作的地方。查询变量和is_ 设置了条件,并且template-loader.php 检查一下is_ 加载相应模板的条件标记。

SO网友:David

除了米洛的回答:在wp::parse_request() 请求URI与中存储的重写规则相匹配$GLOBALS[ \'wp_rewrite\' ]->rules. 这意味着»路由«将被解析为查询变量。实际匹配规则存储在$GLOBALS[ \'wp_rewrite\' ]->matches 这对调试很有帮助:

add_action( \'wp_footer\', function() {
    echo \'<pre>\';
    var_dump( $GLOBALS[ \'wp_rewrite\' ]->rules );
    var_dump( $GLOBALS[ \'wp_rewrite\' ]->matches );
    echo \'</pre>\';
} )

结束