Hello everyone, I wrote this code for a product field in a form starting from fields created with ACF.
add_filter( 'gform_pre_render_13', 'populate_products_from_acf' );
function populate_products_from_acf( $form ) {
global $post;
if( have_rows('servizi_aggiuntivi', $post->ID) ) {
while( have_rows('servizi_aggiuntivi', $post->ID) ) : the_row();
$tipo = get_sub_field('tipo_di_servizio');
// Se è del tipo "prezzo_fisso", aggiungi al modulo come prodotto
if ( $tipo == "prezzo_fisso" ) {
$titolo = wp_strip_all_tags(get_sub_field('titolo_servizio'));
$descrizione = get_sub_field('descrizione_servizio');
$prezzo = get_sub_field('prezzo');
// Costruzione del nuovo campo prodotto
$new_field = array(
'type' => 'singleproduct',
'label' => $titolo,
'description' => $descrizione,
'basePrice' => $prezzo,
'disableQuantity' => true,
'conditionalLogic' => array(
'actionType' => 'show',
'logicType' => 'all',
'rules' => array(
array(
'fieldId' => 72,
'operator' => 'is',
'value' => $titolo,
),
)
)
);
// Aggiungi il nuovo campo al modulo
$form['fields'][] = GF_Fields::create( $new_field );
}
endwhile;
}
return $form;
}
Everything was working fine until I inserted the code on the ConditionalLogic.
At that point, the form doesn’t initialize properly, giving a JavaScript error.
Uncaught SyntaxError: Unexpected token ‘:’
at this point
70: {"field":{"enabled":true,"actionType":"show","logicType":"all","rules":[{"fieldId":"45","operator":"is","value":"Paypal Checkout"}]},"nextButton":null,"section":null},: {"field":{"enabled":"true","actionType":"show","logicType":"all","rules":[{"fieldId":72,"operator":"is","value":"Servizio1"}]},"nextButton":null,"section":null}
Anyone can help me?