Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 让Wordpress使用页面而不是类别_Php_Wordpress - Fatal编程技术网

Php 让Wordpress使用页面而不是类别

Php 让Wordpress使用页面而不是类别,php,wordpress,Php,Wordpress,我做了大量的研究,发现了如下解决方案: 但这仍然不是我想要的。首先让我解释一下这个问题 我制作了一个页面/blog/和一个类别“blog”,它们都使用了permalink/blog/,禁用了/category/permalink,所以搜索引擎优化是正确的 我遇到的解决方案不符合以下要求: 不使用301重定向 在Wordpress中禁用/category/use 还可以仅在页面id使用相同的slug时替换category 我只是想告诉Wordpress显示页面而不是类别 为什么不编辑类别模板

我做了大量的研究,发现了如下解决方案:

但这仍然不是我想要的。首先让我解释一下这个问题

我制作了一个页面/blog/和一个类别“blog”,它们都使用了permalink/blog/,禁用了/category/permalink,所以搜索引擎优化是正确的

我遇到的解决方案不符合以下要求:

  • 不使用301重定向
  • 在Wordpress中禁用/category/use
  • 还可以仅在页面id使用相同的slug时替换category
我只是想告诉Wordpress显示页面而不是类别

为什么不编辑类别模板?

因为我创建的页面使用了VisualComposer(Post-MashinesGrid),所以我不能简单地移动设计

为什么不直接使用重定向?


我想,但是博客的永久链接与页面(SEO目的)是一样的。

我知道这是几年后没有解决方案的事情,但我遇到了与你在一个网站上描述的问题完全相同的问题,而这个问题在其他网站上也存在。所以我做了一些关于什么是不同的研究,并帮助其他人遇到同样的问题

背景

  • example.com是域

  • 我有一个名为“foobar”的WP页面,内容丰富

  • 我有一个名为“foobar”的WP帖子类别

  • 我有一篇题为“foobar有趣的事情”的WP帖子,类别设置为“foobar”

期望值

  • 当我转到
    example.com/foobar
    时,我希望看到关于foobar的页面,而不是显示所有具有该类别的博客文章的WP类别页面

  • 当我去看关于有趣事物的博客文章时,URL是
    example.com/foobar/fun things to do with foobars/

设置

这是我的设置(不需要任何附加插件或代码编辑) 几个已安装的插件是WP-Rocket和Yoast,我将在本线程中重点介绍它们

  • WP仪表板->设置->永久链接

  • 选择“自定义结构”,并在字段中输入
    /%category%/%postname%/

  • 在同一页上,将“类别基础”更改为单个点。“”(没有引号,只有一个点/句点/句号)

  • 我已经安装了Yoast,我设置它来覆盖permalink设置,但我相信这会把我手头的任务搞砸

  • WP仪表板->搜索引擎优化->高级->永久链接(选项卡)

  • “更改URL->剥离类别基础…”=
    保留

  • 然后你需要清除缓存。我使用WP Rocket进行缓存,所以我刷新了缓存,现在一切都正常了


  • 编辑:确保在第3步和第5步之后保存更改

    我知道这个主题很老,但问题仍然很重要

    我将使用博客作为例子。 此方法是无代码的WP本机解决方案。需要注意的是,您无法翻译“blog”slug,因此,如果您不需要为其他语言使用不同的单词/slug,则此方法仅适用于一种语言

  • 创建带有slug“blog”或任何您喜欢的内容的页面。它必须与您在下一步中输入的单词相匹配作为基础:blog=blog It此示例
  • 在设置中将permalink结构设置为:
    /blog/%category/%postname%/
    (/结尾的斜杠是您的首选)
  • 使用像Yoast或Seopress Pro(或任何其他)这样的SEO插件 方法)从URL中删除/类别
  • 转到设置->阅读->“您的主页将显示”部分->“一个静态页面(在下面选择)”
  • 设置主页的静态页面
  • 这就是神奇之处:将帖子页面设置到“博客”页面。
  • 通过访问并保存永久链接页面上的设置刷新永久链接(无任何更改)
  • 然后您将获得正确的URL:
    /blog/yourcogory/single post title/
    面包屑将起作用,所有类别都将是分层的,
    /blog
    将作为页面而不是类别

    最重要的是,当你进入分类页面时,你会得到
    /blog/yourcography
    URL,它将作为存档页面使用。当你访问一篇文章时,你还会得到URL
    /blog/yourcography/single post title/

    Yoast的面包屑应该有用。我使用Seopress Pro,面包屑就像一个符咒(你必须进入面包屑设置页面,为帖子选择类别,如果需要,为类别和标签选择帖子)


    如果您在永久链接设置中不包含
    /blog
    ,它仍然可以工作,您将获得页面,而不是具有适当类别url的类别,但单个帖子将是
    /yourcogory/single post title

    您想将url从一个类别更改为另一个页面吗?如www.example.com/category更改为www.example.com/pageNo不是。我想/blog/显示一个名为blog的页面(哪个slug'blog')。并使用Wordpress的本机类别功能。但是类别会覆盖页面slug。我已经测试过了。您需要更改永久链接设置添加自定义永久链接,如/%category%/%postname%。这将起作用。这将使url与类别相同。但将显示类别。而不是具有相同url的页面。你确定category和page slug都是相同的吗?这对我来说很有效。你的category url将是example.com/category/blog,而page url将是example.com/blog。我没有找到任何404。我只需要从url中删除单词
    category
    。>在同一页上,将“category base”更改为单点。“”(没有引号,只有一个点/句点/句号,这对我来说很有帮助!使用突出主题(VC)和Yoast SEO。