问题描述

对不起,如果这是重复的 – 我找不到答案。

如何将自定义帖子类型归档页面重写为’man-made’ WordPress 页面?

例如:

  • 单页:http://www.mywebsite.com/cool-post-type/awesome-single-post/

  • 存档页面:http://www.mywebsite.com/cool-post-type/

我想 http://www.mywebsite.com/cool-post-type/重写到 http://www.mywebsite.com/about-cool-post-types/

我可以用 htaccess 这样做,语法是什么? (我不擅长 htaccess!)

这不行:

RewriteRule ^cool-post-type/?$ /about-cool-post-types [L]

或者我必须在 WordPress 源代码中执行此操作?我不想要!

最佳解决方案

这个其实很简单。当您使用 register_post_type 声明您的帖子类型时,需要为’has_archive’ 添加一个新参数。

所以你会添加一些事情:

'has_archive' => 'about-cool-post-types'

然后,转到您的设置> 固定链接来刷新它们,它应该工作。我在本地进行了测试,这似乎是以不同的 URL 自动生成归档页面的方式。然后,您应该能够在 CPT 的 s to 中创建一个页面。

次佳解决方案

现在还有一个简单的 1 文件插件,由 HumanMade 民间人士介绍;

https://github.com/humanmade/page-for-post-type

(Meta:我知道链接的答案通常不是很好,但我不只是想将 source-code 复制粘贴到答案中,这种事情最好的策略是什么?)

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。