在我的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%产品%标题”。
答案 0 :(得分:0)
假设每次创建产品时都由WordPress生成URL,现在可以通过其他方法创建该URL,那么您应该可以使用sanitize_title()
,这是WordPress用于创建其友好的永久链接的方法。
这样做的缺点是,如果有重复项,它将无法检测到,但是WordPress会在网址后附加一个-2
。更好的解决方案是在创建产品后获取ID,并使用get_permalink()
,这样会更准确。