将 ACF 字段的值添加到当前自定义帖子类型页面中的重力表单


Add value of ACF field to Gravity Form in current Custom Post type page

我有一个名为"个人资料"的自定义帖子类型。使用高级自定义字段 (ACF),我添加了额外的字段PDF_file,用于将文件上传到新创建的帖子,前端是一个链接到上传文件的按钮。

使用重力表单,我希望访问者能够通过发送文件链接将此文件发送给朋友,这基本上是"PDF_file"字段的值。

我似乎无法找到如何检索值并将其插入重力形式。

我已经使用以下方法在单个自定义帖子类型模板中实现了重力:

<?php gravity_form(15, $display_title=false, $display_description=true, $display_inactive=false, $field_values=null, $ajax=true, $tabindex); ?>

最好的办法是将字段的 URL(我假设它存储在 ACF 自定义字段中)填充到重力表单上的隐藏字段中。实现这一目标的最简单方法是使用"动态人口"。

http://www.gravityhelp.com/documentation/page/Using_Dynamic_Population

在您的情况下,我建议您使用"钩子"方法。

add_filter( 'gform_field_value_your_parameter', 'my_custom_population_function' );
function my_custom_population_function( $value ) {
    global $post;
    return function_exists( 'get_field' ) ? get_field( 'PDF_file', $post->ID ) : false;
}

可以将筛选器名称中的your_parameter更新为要调用参数的任何内容。只需确保在隐藏字段的字段设置的动态填充"参数名称"输入中填充该参数名称即可。

我在这方面取得了一些成功:

add_filter( 'gform_field_value_job_ref', 'gf_filter_job_ref' );
function gf_filter_job_ref() {
    return esc_attr( get_field( 'job_ref' ) );
}

确保将隐藏字段设置为"job_ref"(在本例中),并且高级>参数字段也设置为"job_ref"。

感谢这篇博文:http://www.engagewp.com/create-invoices-gravity-forms-wordpress/