WordPress archive/taxonomy 位置

WordPress archive/taxonomy location

尽管我在 WordPress 开发中还好,但我仍在为此苦苦挣扎

我创建了一个名为 links

的自定义 post 类型

我还创建了一个名为 link-type

的自定义分类法

在主题的根目录中使用 archive.php 时一切正常。

但是我希望 links 成为 child 页面 的资源,因此:

example.com/links/ 会变成 example.com/resources/links/

然后单击分类术语 link 例如 downloads 将带您到 example.com/resources/links/downloads/

我知道 has_archiverewrite 以及 with_frontslug 但不明白如何使用它们来实现上述结构。

一如既往,非常感谢专家的帮助。

当您注册 post 类型时,只需将您想要的任何内容添加到 rewrite 参数中的 slug,正斜杠 在 slugs 中是可以接受的。

$args = array(
    'labels' => $labels,
    ...
    'rewrite' => array(
        'slug' => 'resources/links',
        'with_front' => true
    ),
);

这会给你 https://example.com/resources/links/,即使你的页面已经在 https://example.com/resources/

我差点忘了,您需要确保刷新重写规则(这可以在注册 CPT 时以编程方式完成,或者您可以直接转到 设置 > Permalinks 选项页面并单击 Save Changes 一次完成同样的事情。