我在使用Wordpress category/subcategory
存档网址时遇到了一些问题。
例如,我希望能够显示此存档:
http://faroutmagazine.co.uk/wp/track-of-the-day
同时将其父类别保留在网址中,使其成为http://faroutmagazine.co.uk/wp/music/track-of-the-day
以前,我只是在访问/music/track-of-the-day
网址时收到“这是令人尴尬的......”404消息(即使这是在WP的管理部分的类别下的视图选项中显示的那个) )。
现在,管理区域中的“查看”链接只显示/track-of-the-day
网址,此功能会显示类别帖子,但我希望它在网址中包含父类别。
我可以对functions.php
文件或我可以添加的任何插件做些什么来实现这一点吗?请记住,此站点上有多个子类别存档,它们都应包含URL中的父类别。
***更新:
实际上,我现在只是使用Pages设置所有内容,并在页面上显示类别存档,因为它占用了太多时间。谢谢你的回答。人们告诉我使用%category%/%postname%
作为固定链接结构是不正确的 - 是的,这适用于POST网址,但不适用于子类别的存档类别,这是我实际寻求帮助的问题。如果有人能提供答案,我们将不胜感激,但我现在正在使用这种解决方法,因为这需要花费太多时间来试图找出答案。
答案 0 :(得分:18)
这是因为您在编辑条目时从右侧选项复选框中选择了类别和子类别。在每个条目中仅选择子类别框,它将显示嵌套的URL。
答案 1 :(得分:5)
要实现这一目标,您需要对永久链接进行一些更改
转到设置 - >永久链接,然后选择自定义结构,并在字段中使用此语法“ /%category%/%postname%/ ”
现在保存设置,您可以在永久链接中使用其类别名称查看帖子网址
希望有所帮助:)
答案 2 :(得分:3)
实际上,分层子类别归档永久链接在wordpress中是默认的。
如果你有一个非常好的永久链接"在设置中选择的结构>永久链接,例如/%postname%
,然后类别和子类别归档网址应默认为:
yourdomain.com/category-base/category/sub-category/sub-sub-category
我在最近的一个WP项目中遇到了类似的问题,但是我使用了一个名为WP No Base Permalink的插件,以便在我的归档永久链接中删除我的类别和标记基本slug。当我停用插件时,类别层次结构突然返回到我的归档永久链接(幸运的是,这个项目仍在开发中,否则,我会遇到一些主要的404问题)。
我还没有找到/测试另一个插件来消除类别/标签基本slug,它也会保留子/类别归档网址中的层次结构,但事实证明我不需要为当前项目提供该功能。
相反,我使用基础slu blog-articles
和blog-tags
作为标准类别和标记,以便将博客分类法与其他分类法区分开来。然后我使用插件Types为该帖子类型创建自定义帖子类型和自定义分类。 “类型”插件在高级设置中有一个选项,可在创建自定义分类时将层次分类网址设置为true
或false
。
最后,我发现了一个名为Remove Taxonomy Base Slug的插件,可以有效地从分类法归档网址的基础段中删除默认的分类术语。幸运的是,这不会干扰分层子/类别URL,或标准标签和类别的基本slu ..
现在,我的博客类别/标签如下所示:
yourdomain.com/blog-articles/category/sub-category/
或yourdomain.com/blog-tags/tag/
我的自定义帖子类型类别/标签如下所示:
yourdomain.com/category/sub-category/
或yourdomain.com/tag/
呼!
我希望这有帮助!
答案 3 :(得分:2)
设置设置 - >永久链接 - >类别基数为'%category%'应该可以满足您的需求。根据WP doc:
嵌套子类别在URI
中显示为嵌套目录
答案 4 :(得分:1)
永久链接设置应该类似于/%category%/%postname%/ ..
答案 5 :(得分:1)
在定义分类时,应将层次结构值设置为true。
'rewrite' => array('slug' => 'mySlug', 'hierarchical' => true),
然后,如果您有子类别,则网址将如下所示: http://example.com/taxonomy/parentCategory/subCategory/
我在这里发现了这个诽谤:
答案 6 :(得分:0)
如果仅使用自定义固定链接设置为%postname%,则会以... / category / subcategory的形式生成您的网址。
答案 7 :(得分:0)
您可以使用WordPress插件从网址中删除“类别” http://wordpress.org/plugins/wp-no-category-base/ 然后按照Maruti给出的指示