表单提交后更改重定向

时间:2018-09-09 00:57:55

标签: php html wordpress forms url

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

产品的网址基于产品的“标题”(例如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成为“我的伟大产品标题”,而不是似乎无效的“我的%Great%产品%标题”。

1 个答案:

答案 0 :(得分:0)

假设每次创建产品时都由WordPress生成URL,现在可以通过其他方法创建该URL,那么您应该可以使用sanitize_title(),这是WordPress用于创建其友好的永久链接的方法。

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