一种定制贴子式固定链接结构

时间:2011-11-16 作者:unfulvio

我在stackexchange、google、wordpress论坛上浏览了大量问答。。。但自从引入自定义帖子类型以来,还没有找到一个明确的答案来解决这一常见问题。

我已从Wordpress管理永久链接设置页面将永久链接结构设置为:

/%post_id%/%post_name%/
因为这是提高数据库性能的良好实践

然而,我注意到我的自定义帖子类型(我在一个配置中有几个)仍然显示为:

%cpt_slug%/%post_name%/
而我真正想要的是

%cpt_slug%/%post_id%/%post_name%/
如果它也能像

%cpt_slug%/%post_id%/%taxonomy%/%post_name%/
但就目前而言,我希望在cpt结构中完成post\\u id工作

如何做到这一点?

有一个wordpress插件,但很明显它被撤回了,因为它有一些问题(无论如何,它不再被维护)

2 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

function myrules(){
    add_rewrite_rule(\'^yourcptslughere/([^/]*)/([^/]*)/([^/]*)/?\',\'index.php?p=$matches[1]&taxonomy=$matches[2]&name=$matches[3]\',\'top\');
}
add_action(\'init\',\'myrules\');
替换\'yourcptslughere\' 然后将其添加到函数中。php然后刷新您的重写规则,您发布的最后一个示例应该可以工作。我怀疑会是什么the_permalink() 但是返回,因此您必须自己构造URL,但是它们应该可以在这些URL上查看e.g.:

example.com/randomcptslug/123/exampletaxonomy/testpost

SO网友:Brad Dalton

WordPress正在努力提高定制Permalink结构的性能,该结构应该在下一次更新时完成

结束

相关推荐

Custom permalinks

我们有一个自定义类型music./music/ /music/post-name/ 此外,我们还有一个类似标签的分类法genres. 其URL为:/music-genres/genre-name/ 我尝试创建如下URL:/music/ /music/post-name/ /music/genres/ /music/genres/genre-name/ /music-genres/ 应替换为/music/genres/.最后,我们应该得到如下url