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.
最合适的回答,由SO网友:Stephen Harris 整理而成
有点-我建议使用init
. 这可能是最好的方法,因为您可以按如下所述处理表单。wp_head
不过会有用的。此外,您应该确保使用“nonces”进行必要的检查。
我建议init
钩子,因为您可以使用类似于“post-redirect-get”的东西(请参见here). 这有助于防止用户单击刷新时重新提交数据。通常的做法是将页面的url与表单一起提交到处理页面,处理完成后,该页面会将用户重定向回原始页面(或确认页面)。
当然,您不需要单独的“处理页面”。挂接在上的动作init
可以检查表单是否已提交,检查nonce,处理表单,然后重定向回页面。