我有一个WordPress的网站,这是使用自定义模板自定义后的类型,如登陆和服务。
每个帖子类型在url中都有一个特定的slug,如下所示=〉(http://example.com/landing/landing-page-name)
我想将此URL(http://example.com/landing/landing-page-name)更改为此URL(http://example.com/landing-page-name)。
事实上,我需要从网址中删除[landing]短语。重要的是,[landing]是我的帖子表中的一个自定义帖子类型。
我已经测试了以下解决方案:
==〉我在register_post_type()中的重写属性中将slug更改为'/'--〉它会破坏所有登陆、帖子和页面url(404)
==〉我添加了'with_front' =〉false到rewrite属性--〉没有任何改变
我试着用htaccess中的RewriteRule来做这件事--〉它不起作用或者给予了太多的重定向错误
我无法得到正确的结果。
以前有人解决过这个问题吗?
4条答案
按热度按时间sxpgvts31#
vecaoik12#
首先,您需要过滤自定义帖子类型的永久链接,以便所有已发布的帖子在其URL中都不包含slug:
此时,尝试查看链接将导致404(页面未找到)错误。这是因为WordPress只知道帖子和页面可以有
domain.com/post-name/
或domain.com/page-name/
这样的URL。我们需要告诉它,我们自定义帖子类型的帖子也可以有domain.com/cpt-post-name/
这样的URL。bhmjp9jg3#
要重写,您只需将当前的slug从“cpt-slug”更改为“/”和“with-front”:“false”。完成后,你只需要重新保存永久链接,网址就不会再显示cpt。
6za6bjd04#
有相同的问题,遇到了这个答案,没有上述解决方案的作品,所以尝试了不同的插件和最好的工作,删除了基础鼻涕虫,并解决了404错误尝试Remove CPT base