我正在尝试访问提交前的Gravity Forms字段以检查乱码条目。我在StackOverflow上尝试了很多东西而且没有运气。
表单是id#1。我试过的1000件事中有一些包括:
GFFormsModel::get_form_meta(1);
GFFormsModel::get_leads(1);
$_POST['input_1']
并读这个:https://docs.gravityforms.com/gform_pre_submission/
我该怎么做呢?
如果您想以静默方式失败进行垃圾邮件条目,我建议使用gform_validation过滤器,如果您确定提交是垃圾邮件,则动态启用蜜罐。然后,Gravity Forms将无提示地失败。将显示确认,但不会创建条目。
以下是我的GP Blacklist插件处理这个问题的方法:
$honeypot_field_id = GFFormDisplay::get_max_field_id( $form ) + 1;
$_POST[ "input_{$honeypot_field_id}" ] = true;
$form['enableHoneypot'] = true;
$result['is_valid'] = true;
编辑
要实际检索该值,最简单的方法是从$ _POST中获取它(仅供参考,有更全面的技术)。这是一个更强大的例子。
add_filter( 'gform_validation', function( $result ) {
// Get the value of field ID 1
$value = rgpost( 'input_1' );
if( $value == 'gibberish' ) {
// activate honeypot
}
return $result;
} );