首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自function.php的重力表单加载动态值

问来自function.php的重力表单加载动态值
EN

Stack Overflow用户
提问于 2019-01-15 05:16:36
回答 1查看 650关注 0票数 0

我想在表单提交之前将动态数据从function.php填充到重力表单中的字段中。但是我下面的代码不能正常工作。

我的代码/步骤不起作用:

我将一个重力表单字段标记为“允许动态填充字段”,并给出一个参数名"time“,这样我就可以将其用作function.php中的一个钩子。请看截图https://snag.gy/AGQ8CU.jpg

然后,在我的function.php中,我使用此代码来计算当前时间,并将其传递回表单,以便表单可以提交当前时间。

Function.php中的代码:

代码语言:javascript
复制
$timespam = "";

add_filter( 'gform_field_value_timestamp', 'timestamp_population_function');

function timestamp_population_function() {
    $timespam = time();
    return $timespam;
}

但是我的代码不能正常工作,不能从functions.php获取动态时间并发送当前时间。

我还想在不同的函数中重用这个动态值,还想在下面的函数中加载另一个表单的字段值。例如:

代码语言:javascript
复制
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;
}

您能检查一下我的代码/步骤是否正确吗?或者,有没有其他方法来实现它?

EN

回答 1

Stack Overflow用户

发布于 2019-01-15 05:47:12

您必须将$value参数添加到函数中,并更改参数值以匹配您在表单中添加的内容。

代码语言:javascript
复制
add_filter( 'gform_field_value_time', 'timestamp_population_function');

function timestamp_population_function($value) {
    $timespam = time();
    return $timespam;
}

您只需要动态填充当前时间。提交表单后,运行以下钩子从表单中获取当前时间,然后计算其余时间,然后对其进行适当处理。

代码语言:javascript
复制
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);
 }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54189318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档