【发布时间】:2013-01-23 03:03:40
【问题描述】:
我在 Wordpress 中重写 URL 时遇到问题。
在我的网站上,我有 2 个页面模板,一个列出餐厅的概览页面,以及一个餐厅本身的详细信息页面。
我有为餐厅概览页面的 CPT 工作的永久链接,即 domain.com/restaurants/
我还设法让 CPT“餐厅”中的类别正常工作 (domain.com/restaurants/category/) 这些都是概览页面的模板。
但是,详情页面当然是一个不同的页面,具有不同的模板,链接到 domain.com/restaurant(没有 s)
对于我当前链接的详细信息页面如下:
domain.com/restaurant?id=[ID]
但是这也有效
pagename=restaurant&taxonomy_name=[taxonomy]&id=[ID]
现在问题来了,我希望网址像 domain.com/restaurants/taxonomy_name/restaurant-name/
如您所见,它将通过页面餐厅而不是餐厅(单个餐厅页面模板)
这是我现在在我的functions.php中拥有的:
function add_restaurant_rewrite() {
add_rewrite_tag("/%restaurant-categories%/", '([^/]*)');
add_rewrite_tag("/%postname%/", '([^/]*)');
add_rewrite_rule('^restoranlar/([^/]*)/([^/]*)/[^/]*)', 'index.php?pagename=restoran&taxonomy_name=$matches[1]&id=$matches[2]', 'top');
}
add_action( 'init', 'add_restaurant_rewrite' );
这可能吗?以及如何实现这一点,过去 3 天我一直在寻找答案,但没有任何运气,希望这里有人可以帮助我。
谢谢
【问题讨论】:
标签: wordpress url-rewriting custom-post-type permalinks