2011-11-01 105 views
0

我有这两种说法在我的initWordPress的自定义后的类型和永久链接

add_rewrite_tag('%cirrus_url%','([^&]+)'); 
add_rewrite_rule('^listings/([^/]*)/([^/]*)/?','index.php?pagename=$matches[1]&cirrus_url=$matches[2]','top'); 

使用parse_request过滤器,我可以看到我的规则正在搭配使用。

但是,Wordpress正在转发页面,所以当页面呈现时,所有my/vars/at/the/end都会丢失。

当我从query_var过滤器输出的东西,我得到一个头已经发送消息,所以我知道wordpress正在尝试转发页面。

http://1parkplace.mysharedvision.com/dev/listings/travis-heights-test/

如果你把东西在像结尾: http://1parkplace.mysharedvision.com/dev/listings/travis-heights-test/what-is-this/

你会明白我的意思。

任何想法?

+0

的第一个链接返回另一个语句:'“列表/([^ /] +)(/ [0-9] +)?/?$”' – samura

+0

是的,这是匹配正则表达式中的wordpress构建。但是当我添加东西到最后,它匹配我的正则表达式,但尝试转发页面 –

回答

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()); ?>

,看它是做什么的,这样我就到了正确的事情

相关问题