我想让用户从下拉字段中选择自定义帖子类型并向其添加一些额外数据。
例如:用户可以从列表中选择一部电影。对于那部电影,他可以添加一定数量的副本,直到他想借到为止。
所以我一共有三个字段:
带有电影的下拉字段
数字字段
日期字段
我现在想为 WordPress 中的每部电影添加此字段集(自定义帖子类型)。因为我不知道我们在 WordPress 中有多少电影,所以我想动态生成字段。
幸运的是,我从 Gravity Forms 找到了 Repeater (beta) 字段。使用该字段,用户可以根据需要添加/删除电影。
演示和文档: https: //docs.gravityforms.com/repeater-fields/
问题是,我需要用 WordPress 中的电影 CPT 填充第一个字段(下拉列表)。
这是我当前的代码,用于生成表单中的转发器字段:
// Adjust your form ID
add_filter( 'gform_form_post_get_meta_5', 'add_my_field' );
function add_my_field( $form ) {
$movie_sku = GF_Fields::create( array(
'type' => 'text',
'id' => 1002, // The Field ID must be unique on the form
'formId' => $form['id'],
'required' => true,
'label' => 'Movie',
'class' => 'col-md-4',
'pageNumber' => 1, // Ensure this is correct
) );
$movie_amount = GF_Fields::create( array(
'type' => 'text',
'id' => 1007, // The Field ID must be unique on the form
'formId' => $form['id'],
'required' => true,
'label' => 'Amount',
'pageNumber' => 1, // Ensure this is correct
) );
$movie_date = GF_Fields::create( array(
'type' => 'text',
'id' => 1001, // The Field ID must be unique on the form
'formId' => $form['id'],
'required' => true,
'label' => 'Date',
'pageNumber' => 1, // Ensure this is correct
) );
$movie = GF_Fields::create( array(
'type' => 'repeater',
'required' => true,
'id' => 1000, // The Field ID must be unique on the form
'formId' => $form['id'],
'label' => 'Add movie',
'addButtonText' => 'Add Another movie',
'removeButtonText'=> 'Remove movie',
'pageNumber' => 1, // Ensure this is correct
'fields' => array( $movie_sku,$movie_amount, $movie_date), // Add the fields here.
) );
$form['fields'][] = $movie;
return $form;
}
不负相思意