Au lieu de passer de longues minutes en back-office pour faire une liste déroulante à plusieurs dizaines d’éléments et aussi custom la value des champs, nous pouvons hook tout cela grâce à Gravity !

gform_pre_render

Dans mon cas de figure je demande de préremplir sur le formulaire à ID 6 son champ id 24 avec une fonction « get_list » qui retournera les valeurs souhaitées.

add_filter( 'gform_pre_render_6', 'populate_checkbox' );
add_filter( 'gform_pre_validation_6', 'populate_checkbox' );
add_filter( 'gform_pre_submission_filter_6', 'populate_checkbox' );
add_filter( 'gform_admin_pre_render_6', 'populate_checkbox' );

function populate_checkbox( $form ) {
foreach( $form['fields'] as &$field ) {
$field_id = 24;
if ( $field->id != $field_id ) {
continue;
}

$field->choices = get_list();
return$form;
}

}

Ensuite il faut créer la fonction qui envoie les valeurs et le tour est joué !

function get_list(){

return array(
 array(
        'value' => 'AD',
        'text' => 'Andorre'
    ),
      array(
        'value' => 'AE',
        'text' => 'Émirats Arabes Unis'
    ),
      array(
        'value' => 'AF',
        'text' => 'Afghanistan'
    ),
      array(
        'value' => 'AG',
        'text' => 'Antigua-et-Barbada'
    ),
      array(
        'value' => 'AI',
        'text' => 'Anguilla'
    ),
      array(
        'value' => 'AL',
        'text' => 'Albanie'
    ),
      array(
        'value' => 'AM',
        'text' => 'Arménie'
    )
);


}
0 0 votes
Article Rating
S’abonner
Notification pour
guest
0 Commentaires
Commentaires en ligne
Afficher tous les commentaires