我正在寻找一种将 post_type 放入 wordpress 永久链接结构的方法 - 特别是考虑到我自己的插件定义的自定义 post_type。
有没有一种简单的方法可以做到这一点,或者您是否知道有关 wordpress url 处理/重定向的任何体面的文档(codex 在重写方面似乎缺乏一点)。
我正在寻找一种将 post_type 放入 wordpress 永久链接结构的方法 - 特别是考虑到我自己的插件定义的自定义 post_type。
有没有一种简单的方法可以做到这一点,或者您是否知道有关 wordpress url 处理/重定向的任何体面的文档(codex 在重写方面似乎缺乏一点)。
似乎如果您使用除默认值之外的任何永久链接结构,那么您最终会得到 /post_type/post_name 的永久链接结构。
因此,如果我注册了 post_type 'video',它将是http://yourdomain.com/video/post_name
如果您使用的是默认的永久链接,那么显然没关系,因为您只会拥有 ?id=123 或其他任何东西。(不过,您可以将 post_type 指定为 query_var,这在您的主题中很有用。)
作为旁注,尝试覆盖 WP 的默认 URL 路由似乎非常困难,您可以通过使用一些操作和过滤器来做到这一点......但上述内容应该适用于您想要的。
post_type 你的意思是类别吗?如果是这样,我认为您可以使用 wordpress 管理面板中的自定义永久链接设置来执行此操作。
%category% 是你想要的。请注意,wordpress codex有一个关于性能的警告,如果它位于永久链接的开头 - 我没有使用过这个,所以你可能想看看:
%category% - 类别名称的净化版本(新建/编辑类别面板上的类别 slug 字段)。嵌套子类别在 URI 中显示为嵌套目录。出于性能原因,强烈建议不要使用 %category% 启动永久链接。
编辑 - 但是,如果您正在寻找帖子类型,如帖子/页面,那么这将更加棘手。它不是内置结构标签之一,因此您可能正在考虑添加这个新的结构标签,这将是对 wp-includes\rewrite.php 的更改(并重新应用每个新的 wordpress 补丁)。使用 mod-rewrite 可能还有另一种方法,但恐怕超出了我的知识范围