【问题标题】:How do you handle multiple forms in WordPress plugin development?在 WordPress 插件开发中如何处理多个表单?
【发布时间】:2012-12-14 23:14:05
【问题描述】:

我正在从 CodeIgniter 过渡到 WordPress。仍在尝试围绕 WordPress 插件开发... 似乎很容易,但我无法弄清楚的一件事是:我在哪里发送表单数据?在 CodeIgniter 中,您可以简单地在控制器中创建另一个方法并将表单操作指向那里,但似乎 WordPress 插件有点不同。

【问题讨论】:

  • 谢谢你,非常有帮助。我最近没有接受任何东西,因为没有答案有帮助。不过非常感谢。
  • 接受,1个问题被删除............

标签: php forms wordpress plugins action


【解决方案1】:

取决于您的插件如何生成表单。通常,您可以通过注册一个短代码来做到这一点,例如 [my_form],您可以将其插入到您希望表单出现的页面或帖子中。

在您的插件代码中,表单操作可以是空白的——只需重新加载相同的 Wordpress 页面。您的表单信息。将在全局 $_POST 中,然后您的插件可以处理数据。

所以你的插件简码函数应该是这样的:

if(isset($_POST['my_plugin_form_field'])){
 /* code to process the form info and generate a message on screen 
 }

else{
/* the form hasn't been submitted yet so here is the code to display it
}

【讨论】:

  • 好的,听起来不错。因此,我将在所有表单中放置一个隐藏字段,以识别表单并从那里开始。谢谢。
  • 查看 wp_nonce 文档——用于生成随机、一次性使用令牌以保护表单的内置工具:codex.wordpress.org/Function_Reference/wp_create_nonce
  • 我看了一眼,仍然不确定如何验证它,但我会谷歌它或寻找其他用途。
  • 如果您想发布您正在使用的代码,我会看看是否可以帮助您完善它。
猜你喜欢
  • 2014-01-08
  • 2018-01-04
  • 1970-01-01
  • 2012-11-26
  • 1970-01-01
  • 1970-01-01
  • 2014-08-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多