如何处理多页中的表单?

时间:2012-01-15 作者:Javier Villanueva

I have a simple contact form that I set up to display on multiple pages using a shortcode and a widget but since I need to form to post back on the same were it\'s displayed I\'m not sure how to accomplish this.

I was thinking about writing a function and plug it to the wp_head hook but I\'m not sure if it\'s correct, is there a better way to do this?

Thanks in advance.

1 个回复
最合适的回答,由SO网友:Stephen Harris 整理而成

有点-我建议使用init. 这可能是最好的方法,因为您可以按如下所述处理表单。wp_head 不过会有用的。此外,您应该确保使用“nonces”进行必要的检查。

我建议init 钩子,因为您可以使用类似于“post-redirect-get”的东西(请参见here). 这有助于防止用户单击刷新时重新提交数据。通常的做法是将页面的url与表单一起提交到处理页面,处理完成后,该页面会将用户重定向回原始页面(或确认页面)。

当然,您不需要单独的“处理页面”。挂接在上的动作init 可以检查表单是否已提交,检查nonce,处理表单,然后重定向回页面。

结束