我在init中有这两个陈述
add_rewrite_tag('%cirrus_url%','([^&]+)');
add_rewrite_rule('^listings/([^/]*)/([^/]*)/?','index.php?pagename=$matches[1]&cirrus_url=$matches[2]','top');
使用parse_request过滤器,我可以看到我的规则正在匹配和使用。
但是,Wordpress正在转发页面,所以当页面呈现时,我的所有/ vars / at / the / end都会丢失。
当我从query_var过滤器输出内容时,我收到了一条已发送的Headers消息,因此我知道wordpress正在尝试转发该页面。
http://1parkplace.mysharedvision.com/dev/listings/travis-heights-test/
如果你把一些东西放在最后: http://1parkplace.mysharedvision.com/dev/listings/travis-heights-test/what-is-this/
你会明白我的意思。
有什么想法吗?
答案 0 :(得分:0)
想出来
add_rewrite_tag('%cirrus_url%','([^&]+)');
add_rewrite_rule('listings/([^/]*)(/[^/]+)?$/?','index.php?cirrus_posts=$matches[1]&cirrus_url=$matches[2]','top');
我的自定义帖子类型是cirrus_posts,所以我只看了wordpress'<?php var_dump($wp_rewrite->wp_rewrite_rules()); ?>
看看它在做什么,让我做对了