如何在没有插件的 WordPress URL 中将 /blog 添加到帖子时用 /blog 替换 /category 和 /tag

How to replace /category and /tag with /blog while adding /blog to posts in a WordPress URL without plugins

我想在不使用插件的情况下调整我的 wordpress 网站的 permalinks。我想去掉“/category”和“/tag”,同时向所有博客相关网站添加前缀“/blog”(类别和标签概述加上 posts)。

我使用了几个类别,包括子类别和标签,但没有自定义 post 类型。例如:

对于页面,我不需要任何导致 www.example.com (/page-A) 的自定义。 对于 posts,以下结构将是理想的:

(1) www.example.com/blog; Showing all three posts

(2) www.example.com/blog/animals; Showing all three posts

(3) www.example.com/blog/animals/dogs; Showing the one post about dogs

(4) www.example.com/blog/animals/dogs/post-about-dogs; Reading the post about dogs

(5) www.example.com/blog/pet-food/; Showing all three posts

到目前为止,我尝试了几种方法。首先我去设置 -> permalinks 并选择自定义 permalink 选项添加

/blog/%category%/%postname%/

同时保留类别和标签库选项不变。这里一切正常,除了“/category”和“/tag”仍然出现在案例 2,3 和 5 中。

通过添加“.”在可选类别基础中,案例 2 中的“/category”消失了,但现在案例 3 的 url(有和没有“/category”)不起作用。案例 5 仍未修复。

通过添加“/blog”而不是“.”案例 2 和案例 3 都可以在没有“/category”的情况下按预期工作,但现在案例 4 和案例 5 已损坏。

我尝试了其他几种组合,同时还更改了标签库,在 none 方法中,每个 link 变体都有效。我什至尝试了几次在不同设置之间重置 htaccess 文件,但没有成功。

我已经考虑过 Remove category & tag base from WordPress url - without a plugin 和许多其他网站。但不幸的是,到目前为止,没有任何配置对我有用。我什至尝试使用 Yoast SEO 提供的选项(已经安装并且可以在需要时使用)删除“/category”,但这导致“/blog”也被删除。

非常感谢任何帮助 - 如果您有解决此问题的方法,那就太好了!

我终于自己找到了解决办法。

  1. 转到仪表板 -> 设置 -> 永久链接并使用自定义永久链接结构“/%category%/%postname%/”
  2. 将标签库更改为 "blog",保持类别库不变
  3. 正如我所说,我已经有了 Yoast SEO,所以我用它去掉了 "category" 一词以表示类别概述(Yoast SEO -> 高级 [也许你必须先启用高级选项] -> 永久链接 - > 选择删除/类别
  4. 因为我希望“/blog”作为所有博客相关帖子的基础,所以我将类别 "blog" 添加为所有现有热门类别的父类别
  5. 尽情享受吧!

为什么需要这个程序的问题:

  1. /blog/%category%/%postname%/ 因为永久链接结构不能与删除 /category 结合使用 - 至少如果你为此使用插件(我试过几个)。我知道我想要一种没有插件的方法,但我没有找到代码解决方案,但我还是使用了 Yoast。
  2. 您可以将帖子设置为“/blog/%category%/%postname%/”。如果您现在将类别基数更改为“.”您不必再删除 /category。但这导致 404 错误,同时将基数更改为“/blog”导致错误的 url 结构。

这种方法的问题:

  1. 您按日期排序的档案将可以通过示例访问。com/year/ 而不是示例。com/blog/year

简单,安装YOAST插件: http://prntscr.com/mpcge6