如何在不重定向的情况下添加添加_重写_规则?

时间:2014-06-07 作者:Corey

我有一个名为“位置”的自定义帖子类型。

我有一个叫“星巴克”的地方。我可以访问“/地点/星巴克”查看此内容。

我想在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?

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

在重写规则中,pagename 实际上应该是query_var 自定义帖子类型。除非您使用query_var => \'something_else\' 在您的register_post_type 参数,它将与自定义帖子类型的名称相同:

index.php?locations=$matches[2]

结束

相关推荐

301 Redirect To Post ID

我有一个现有的基于asp的博客,其中所有帖子的URL中都包含帖子id(template_permalink.asp?id=123).</我有一个空白的WordPress博客。我将不得不手动重新创建所有帖子,因为我现有博客的提要不包含原始图像(它只有一个CDATA块),所以我无法导入它们</我需要将原来的帖子重定向到它们对应的WordPress帖子我尝试过:转到301重定向全部template_permalink.asp?id=xxx 使用htaccess将URL链接到帖子id,但它保留了原始i