WordPress的自定义后的类型和永久链接
问题描述:
我有这两种说法在我的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/
你会明白我的意思。
任何想法?
答
想通了
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()); ?>
,看它是做什么的,这样我就到了正确的事情
的第一个链接返回另一个语句:'“列表/([^ /] +)(/ [0-9] +)?/?$”' – samura
是的,这是匹配正则表达式中的wordpress构建。但是当我添加东西到最后,它匹配我的正则表达式,但尝试转发页面 –