首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在保持url干净的同时将参数传递给自定义post类型

在保持url干净的同时将参数传递给自定义post类型
EN

WordPress Development用户
提问于 2019-11-08 15:31:39
回答 1查看 636关注 0票数 0

我正在努力将get参数传递给干净url中的单个自定义post类型。因此,例如,有定制的post类型的‘服务’,其中将有一个帖子‘园艺’。

代码语言:javascript
复制
/services/gardening/leeds

它将转换为以下内容,以便可以在模板上访问该变量:

代码语言:javascript
复制
/services/gardening?location=leeds

但在浏览器中仍然显示如下:

代码语言:javascript
复制
/services/gardening/leeds

我只是想知道在使用自定义post类型之前是否有人这样做过?

谢谢

EN

回答 1

WordPress Development用户

发布于 2019-11-08 23:44:03

您可以在注册自定义post类型之后,使用以下代码在URL中添加此参数:

代码语言:javascript
复制
add_rewrite_tag('%location%', "([^&]+)");


$slug =      get_post_type_object("services")->rewrite["slug"];
$query_var = get_post_type_object("services")->query_var;

add_rewrite_rule(
      "$slug/([^&]+)/([^&]+)$"
    , "index.php?$query_var=\$matches[1]&location=\$matches[2]"
    , "top"
);

将其添加到插件中后,您需要刷新一次重写规则:https://codex.wordpress.org/Function_参考/冲洗_重写_规则

然后,您可以使用get_query_var("location")读取位置。wordpress的神奇之处在于,这段代码也适用于URL、/services/gardening?location=leeds/services/gardening

票数 1
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/352189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档