我想在表单提交之前将动态数据从function.php填充到重力表单中的字段中。但是我下面的代码不能正常工作。
我的代码/步骤不起作用:
我将一个重力表单字段标记为“允许动态填充字段”,并给出一个参数名"time“,这样我就可以将其用作function.php中的一个钩子。请看截图https://snag.gy/AGQ8CU.jpg
然后,在我的function.php中,我使用此代码来计算当前时间,并将其传递回表单,以便表单可以提交当前时间。
Function.php中的代码:
$timespam = "";
add_filter( 'gform_field_value_timestamp', 'timestamp_population_function');
function timestamp_population_function() {
$timespam = time();
return $timespam;
}但是我的代码不能正常工作,不能从functions.php获取动态时间并发送当前时间。
我还想在不同的函数中重用这个动态值,还想在下面的函数中加载另一个表单的字段值。例如:
add_filter( 'gform_field_value_hash', 'hash_population_function' );
function hash_population_function($value) {
$x_amount = $_POST['input_26']; // I am trying to get value from form's field
$hmac_data = $timespam . "^" . $x_amount;
$x_fp_hash = hash_hmac('MD5', $hmac_data, $transaction_key);
return $x_fp_hash;
}您能检查一下我的代码/步骤是否正确吗?或者,有没有其他方法来实现它?
发布于 2019-01-15 05:47:12
您必须将$value参数添加到函数中,并更改参数值以匹配您在表单中添加的内容。
add_filter( 'gform_field_value_time', 'timestamp_population_function');
function timestamp_population_function($value) {
$timespam = time();
return $timespam;
}您只需要动态填充当前时间。提交表单后,运行以下钩子从表单中获取当前时间,然后计算其余时间,然后对其进行适当处理。
add_action( 'gform_after_submission_[form ID]', 'calc_post_data_[form ID]', 10, 2 );
function calc_post_data_15($entry, $form){
$timespam = rgar($entry, '[form field ID for current time]');
$x_amount = rgar($entry, '[form field ID for amount]');
$hmac_data = $timespam . "^" . $x_amount;
$x_fp_hash = hash_hmac('MD5', $hmac_data, $transaction_key);
return function_that_deals_with_this_result($x_fp_hash);
}https://stackoverflow.com/questions/54189318
复制相似问题