在不获取404的情况下在自定义URL上动态创建内容

时间:2015-10-29 作者:Toni

我的目标是建立以下链接结构:

我的页面。com/项目/子项目/代码

代码是6个随机字母和数字。

我尝试过使用类别和子类别,但我不喜欢这样,因为这样我就必须为我拥有的每一个代码创建帖子,而且有很多。

我想要的是为页面项目/子项目/代码创建一个模板,并将代码作为查询(类似于?代码),但我无法更改此结构,因为它是关于二维码的,它们无法更改。

这有可能吗?

2 个回复
最合适的回答,由SO网友:flomei 整理而成

是的,这是完全可能的,几周前我刚刚为一个类似的项目做了这件事。

我发现这很有帮助:How to pass extra variables in URL with Wordpress

基本上,过程如下:注册新query_vars, 让他们充满活力,把他们传递给一个特定的模板,这个模板会寻找他们,然后做任何你喜欢的事情。

我用它集成了一个基于REST的web服务。根据我传递的ID实时查询服务中的信息,如下所示:mysite.com/events/1567612313/

工作正常。

SO网友:Pieter Goosen

我真的不知道你为什么要这样做,但这会比解决问题更让人头疼。

让我们看看这里的一些东西,你需要页面。

为此,您可以使用一个模板,这不是问题。

分层帖子类型很昂贵,当你开始只看到几千个页面时,会使你的后端崩溃

6个随机数为您提供了数百万种可能性,因此,如果100万访问者访问您的网站时使用了1000万个随机数,您将创建100万个页面。这肯定会使你的网站崩溃。

即使你打算使用非等级职位类型,比如post 并为其分配条件以创建所需的结构,您将遇到诸如页面加载速度非常慢甚至由于超出时间限制而出现致命错误等问题

如何决定为特定页面加载生成和保存哪些内容。页面之间的上下文差异是什么item/subitem/000001item/subitem/500000.

要解决上述问题,您需要解决以下问题:

如何确定页面是否将404。只有在主查询完成并运行其SQL查询且未找到查询的页面时,才会生成404。只有这样,才会返回404页标题。

我真的不确定这是否真的有可能,而不必与其他东西混为一谈,甚至根本不可能,但您需要在主查询运行之前拦截它,以便您可以检查特定查询的页面是否存在,如果不存在,请创建页面,然后运行主查询。

简而言之,我看不出这是如何在没有任何问题的情况下工作的。这似乎是一个非常糟糕的设计缺陷,但正如我所说的,我不知道为什么你真的需要这样做