访问WP在表单提交处理程序中的函数

时间:2016-05-26 作者:C C

我有一个嵌入在自定义帖子类型中的表单。

表单操作指向位于我的mu插件目录中的PHP文件:

<form action="http://www.foo.com/wp-content/mu-plugins/FormCode/formprocess.php">
这很好用;在“提交”时,将调用此PHP文件。

我的问题是formprocess.php 似乎没有在范围中“看到”核心WP功能。例如,调用wp_verify_nonce() 正在引发HTTP 500错误。

我尝试添加require_once(ABSPATH .\'wp-includes/pluggable.php\'); 但它仍然不起作用。

我还可以做些什么来确保核心WP文件对我的表单处理程序可用?或者,我是否应该使用完全不同的方法?

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

直接访问WP安装中的文件是一种糟糕的做法。虽然您可以实现定制的核心加载例程,但它很脆弱,不可能可靠地在公共插件中发布。

WP中有不同的表单提交方法。最合适的(如果稍微不为人知)之一是将表格发送给wp-admin/admin-post.php 并使用内部挂钩连接处理逻辑。

相关推荐

使用WPForms提交表单时触发操作

我的一位客户使用WPForms插件创建前端表单。提交表单时,条目进入de数据库(在单独的表wp\\u wpform\\u entries或类似的表中,全部由插件处理)。但他们也希望以JSON格式将所有数据发布到另一个网站。是否有办法知道表单已提交,或者使用add_filter(\'wp_insert_post)?