如何解决提交表单后 gform_after_submission 不会触发
我已经测试了我的自定义函数,当提供表单 id 和条目 id 时,它可以正常工作。但是提交表单时它似乎永远不会触发。
我正在使用操作 add_action( 'gform_after_submission_14','after_submission',10,2 );
我的表单 ID 是 14。
我该如何解决此问题或纠正问题?
我的代码是:
add_action( 'gform_after_submission_14',2 );
function after_submission($entry,$form){
global $wpdb;
include $_SERVER['DOCUMENT_ROOT'] . '/custom_config.PHP';
$data = RGFormsModel::get_lead($entry);
$eid = $data['id'];
$user_id = $data['created_by'];
$hotel = $data['33'];
$flight = $data['39'];
$car = $data['38'];
$parking = $data['37'];
$entertainment = $data['36'];
$other = $data['35'];
if($hotel!=''):
MysqLi_query($link,"INSERT INTO reimbursements ( user_id,eid,amount,type ) VALUES ( '$user_id','$eid','$hotel','hotel' )");
print_r($link);
endif;
if($flight!=''):
MysqLi_query($link,'$flight','flight' )");
endif;
if($car!=''):
MysqLi_query($link,'$car','car' )");
endif;
if($parking!=''):
MysqLi_query($link,'$parking','parking' )");
endif;
if($entertainment!=''):
MysqLi_query($link,'$entertainment','entertainment' )");
endif;
if($other!=''):
MysqLi_query($link,'$other','other' )");
endif;
MysqLi_close($link);
}
解决方法
问题出在这里:
$data = RGFormsModel::get_lead($entry);
$entry
已经是一个正在使用的数组。
因此,与其像我一样重新定义它们:
$eid = $data['id'];
我应该使用:
$eid = $entry['id'];
这个解决方案的主要部分是找出解决问题的能力。
为此,我做了以下事情:
- 在函数顶部添加
GFCommon::log_debug( __METHOD__ . '(): running.' );
。 - 按照此处的说明启用日志记录 (https://docs.gravityforms.com/logging-and-debugging/#enabling-logging)
- 在'Forms->Settings->Logging'查看'Gravity Forms Core'的错误日志这需要在测试运行时勾选'logging'。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。