首页 > 解决方案 > 提交表单后更改重定向

问题描述

在我的 Wordpress 网站上,我让用户填写最终生成产品的表单。表单字段之一是产品的“标题”。我正在尝试更改用户在提交表单后发送到的重定向。

产品的 URL 基于产品的“标题”(例如http://example.com/product/My-Great-Product-Title/

我当前代码的问题是我得到了一个返回的 URL... http://example.com/product/My%Great%Product%Title/

这将返回页面未找到 404 错误。

自然地,单词之间没有空格的产品标题可以正常工作,但由于显而易见的原因,每个标题都不能仅限于一个单词。

我当前的重定向代码导致 404 错误...

$redirect = " http://example.com/product/ $title";

如何让我的 URL 成为“My-Great-Product-Title”而不是“My%Great%Product%Title”,这似乎不起作用。

标签: phphtmlwordpressformsurl

解决方案


假设在创建产品时由 WordPress 生成 URL,现在通过其他方法创建 URL,您应该能够使用sanitize_title()WordPress 用来创建其友好永久链接的方法。

这样做的缺点是如果有重复,它不会检测到这一点,但 WordPress 会-2在 url 上附加一个。更好的解决方案是在产品创建和使用后获取 ID,get_permalink()这样会更准确。


推荐阅读