0

我在 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 天我一直在寻找答案,但没有任何运气,希望这里有人可以帮助我。

谢谢

4

1 回答 1

0

您是否已经尝试手动向 .htaccess 添加规则,例如:

RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /?pagename=$1&taxonomy_name=$2&id=$3 [L]

在http://www.generateit.net/mod-rewrite/自己尝试一下

于 2013-01-22T19:03:40.613 回答