将Gravity Forms中的字段连接到WooCommerce中的字段



我想构建一个Gravity表单,用户可以通过Ajax搜索来搜索所有产品。该搜索框必须连接到WooCommerce中的"产品标题"字段。

因此,当用户在Gravity表单搜索框中键入第一个字母(例如:PIN(时,Ajax下拉列表会显示数据库中可用的两个书名:例如,"PINNOCHIO"one_answers"PINNOCHO RETURNS"。然后用户选择他感兴趣的标题,然后提交表单

我不知道如何将Gravity中的字段与WooCommerce中的字段连接起来。能做到吗?

您需要添加一些代码来动态填充下拉列表。以下是它的官方文件:https://docs.gravityforms.com/dynamically-populating-drop-down-fields

如果我从他们的出发点重新配置它以与产品一起使用,它会看起来像这样:

add_filter( 'gform_pre_render_51', 'populate_posts' );
add_filter( 'gform_pre_validation_51', 'populate_posts' );
add_filter( 'gform_pre_submission_filter_51', 'populate_posts' );
add_filter( 'gform_admin_pre_render_51', 'populate_posts' );
function populate_posts( $form ) {
foreach ( $form['fields'] as &$field ) {
if ( $field->type != 'select' || strpos( $field->cssClass, 'populate-products' ) === false ) {
continue;
}
$posts = get_posts( array(
'post_type' => 'product',
'numberposts' => -1,
) );
$choices = array();
foreach ( $posts as $post ) {
$choices[] = array( 'text' => $post->post_title, 'value' => $post->post_title );
}
// update 'Select a Product' to whatever you'd like the instructive option to be
$field->placeholder = 'Select a Product';
$field->choices = $choices;
}
return $form;
}

最新更新