2011-11-01 95 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()); ?>

,看它是做什麼的,這樣我就到了正確的事情

相關問題