在函数文件中更改自定义帖子类型 slug

Posted

技术标签:

【中文标题】在函数文件中更改自定义帖子类型 slug【英文标题】:Change custom post type slug in functions file 【发布时间】:2021-01-29 21:05:10 【问题描述】:

在 WordPress 中,您可以从下图所示的仪表板帖子中轻松更改自定义帖子类型 slug,但是如何通过后端为我的所有 CPT 更改它?

我知道我可以使用 rewrite 参数,但这似乎只会更改自定义帖子类型标题。

我如何编写一个函数来改变这个:

站点名称/项目/项目

而不是

站点名称/项目/slug-of-post

【问题讨论】:

【参考方案1】:

您是否想更改永久链接库?

自定义帖子类型通过以下方式注册:https://developer.wordpress.org/reference/functions/register_post_type/register_post_type

这个函数有rewrite 参数。子参数slug 可能就是您要搜索的内容。

您可以使用过滤器register_post_type_args更改已注册帖子类型的参数 有关它的更多信息,请参见此处:https://wordpress.stackexchange.com/a/230313/179522

不要忘记在更改后刷新您的永久链接规则。 方法如下:https://wpastra.com/docs/how-to-refresh-wordpress-permalinks/

【讨论】:

是的,所以我想修改自定义帖子类型'slug-of-post',例如'sitename/projects/slug-of-post'【参考方案2】:

我建议看看下面的插件https://wordpress.org/plugins/permalinks-customizer/。

它对我有用,如果想编写自己的函数而不是使用插件,你可以看看插件的作者是如何做到的。

谢谢!

【讨论】:

我不想使用插件

以上是关于在函数文件中更改自定义帖子类型 slug的主要内容,如果未能解决你的问题,请参考以下文章

通过子主题完全改变自定义帖子类型

在 WordPress 管理列帖子/产品自定义帖子类型中显示 Slug

如何根据语言重写自定义帖子类型 slug?

带有自定义 slug 的 wordpress 自定义帖子类型并获取变量

自定义帖子类型 Slug 重写问题

WordPress:在自定义帖子类型中获取模块名称的帖子 slug