我在 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]
现在问题来了,我希望 url 像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 天我一直在寻找答案,但没有任何运气,希望这里有人可以帮助我。
谢谢