我有一个名为“位置”的自定义帖子类型。
我有一个叫“星巴克”的地方。我可以访问“/地点/星巴克”查看此内容。
我想在URL中添加“咖啡馆”,这样路径“/位置/咖啡馆/星巴克”将加载“星巴克”页面,同时在浏览器中维护URL。
我已将此代码添加到我的函数中。php
function add_rewrite_rules()
{
add_rewrite_rule(\'^location/([^/]*)/([^/]*)/?\',\'index.php?pagename=$matches[2]\',\'top\');
}
add_action(\'init\', \'add_rewrite_rules\');
它正确加载“starbucks”页面,但将URL更改为“/位置/starbucks”。
如何加载“starbucks”页面并保留自定义URL?
最合适的回答,由SO网友:TheDeadMedic 整理而成
在重写规则中,pagename
实际上应该是query_var
自定义帖子类型。除非您使用query_var => \'something_else\'
在您的register_post_type
参数,它将与自定义帖子类型的名称相同:
index.php?locations=$matches[2]