Wordpress自定义帖子类型和永久链接

时间:2011-11-01 10:45:21

标签: php wordpress mod-rewrite wordpress-plugin permalinks

我在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/

你会明白我的意思。

有什么想法吗?

1 个答案:

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

看看它在做什么,让我做对了