J'ai plusieurs formes. Sur la base de ces formulaires, il me faut un champ caché contenant un préfixe et un numéro séquentiel. Chaque formulaire a un champ caché. Ce champ peut être rempli dynamiquement et possède un paramètre "uuid".
J'ai le code suivant ... des suggestions sur la façon de changer le code suivant? Cet extrait fonctionne, mais il utilise un nombre aléatoire (mt_Rand), je préfère [préfixe] -00001, [préfixe] -00002, etc.
En outre, il serait encore mieux que chaque forme ait son propre préfixe. Mais cela au-delà de mes compétences en php. De préférence séquentielle pour chaque forme, exemple:
Formulaire A avec le préfixe 'prd' ([préfixe] -00001)
Formulaire B avec le préfixe 'lead' ([préfixe] -00001)
Merci pour vos pensées et vos idées. Gardez à l'esprit que mes compétences en php sont assez basiques.
Paul
add_filter("gform_field_value_uuid", "get_sequential_nr");
function get_sequential_nr(){
$prefix = "set_prefix_here";
do {
$unique = mt_Rand();
$unique = substr($unique, 0, 5);
$unique = $prefix . $unique;
} while (!check_unique_nmbr($unique));
return $unique;
}
function check_unique_nmbr($unique) {
global $wpdb;
$table = $wpdb->prefix . 'rg_lead_detail';
$result = $wpdb->get_var("SELECT value FROM $table WHERE form_id = '$form_id' AND field_number = '$field_id' AND value = '$unique'");
if(empty($result))
return true;
return false;
}
Avez-vous examiné le Gravity Forms Wiz ID unique ? Cela vous permet de spécifier un préfixe pour chaque formulaire à ajouter à l'ID de l'entrée.