Créer un statut utilisateur avec un formulaire Formidable Form

6

Nous allons dans ce tutoriel se créer une fonction qui va nous permettre de proposer dans un formulaire le choix à l’utilisateur de choisir son rôle selon les choix que nous aurons définit dans notre formulaire puis nous allons permettre de créer le nouveau rôle pour l’utilisateur.

Nous allons d’abord créer notre rôle utilisateur. Pour ça mettons en place les user rôle. Ici dans notre cas d’exemple nous souhaitons ajouter un rôle Médecin, un rôle pharmacien, et un rôle Infirmière. (functions.php ou autres fichiers)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//////////////////////// Add User Role /////////////////////// 
function medecin_new_role() {  
 
    //add the new user role
    add_role(
        'medecin',
        'Medecin',
        array(
            'read'         => true,
            'delete_posts' => false
        )
    );
 
}
add_action('admin_init', 'medecin_new_role');
 
function pharmacien_new_role() {  
 
    //add the new user role
    add_role(
        'pharmacien',
        'Pharmacien',
        array(
            'read'         => true,
            'delete_posts' => false
        )
    );
 
}
add_action('admin_init', 'pharmacien_new_role');
 
function infirmiere_new_role() {  
 
    //add the new user role
    add_role(
        'infirmiere',
        'Infirmièr(e)',
        array(
            'read'         => true,
            'delete_posts' => false
        )
    );
 
}
add_action('admin_init', 'infirmiere_new_role');

Donc on peut aller désormais vérifier dans un profil utilisateur, voir si nos trois nouveaux rôles apparaissent.
Maintenant, nous devons aller créer un formulaire qui va nous permettre de créer un nouvel utilisateur, en ayant l’addon formidable User Registration.

On créé notre formulaire avec les données que vous souhaitez lui attribuer, genre Nom / Prénom, Courriel, ect … Puis on créer une nouvelle donnée que l’on va nommer par exemple Statut. Pour cette donnée, on va lui créer un champs radio bouton, puis nous allons lui ajouter trois options qui vont être dans notre exemple :

Rôles utilisateur wordpress avec formidable form

Ensuite nous allons dans nos réglages du formulaire -> Actions et Notifications -> pour ajouter un user registration. Remplir le nécessaire et pour le user rôle le laisser auteur par défaut.
Exemple :

User Registration Formidable Form

Voici la fonction qui donne les conditions nécessaires d’attribuer le bon rôle utilisateur au moment de son inscription et de son choix de rôle.

On change les IDS par les IDS concernés de votre formulaire et de votre ID champ.

  • L’ID 190 correspond à l’ID du champ.
  • L’ID 6 est l’ID de notre formulaire.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//////////////////////// Formidable form attribute user rôle /////////////////////// 
function statut_new_role($user_role, $atts){
  extract($atts);
  if($form->id == 6){ // WSIS: change this to your form ID
    if($_POST['item_meta'][190] == 'medecin') //change 125 to the ID of your field and 'Author' to the value of your radio button WSIS: or single checkbox
    $user_role = 'medecin'; // WSIS: rolename
	if($_POST['item_meta'][190] == 'infirmiere') //change 125 to the ID of your field and 'Author' to the value of your radio button WSIS: or single checkbox
    $user_role = 'infirmiere'; // WSIS: rolename
	if($_POST['item_meta'][190] == 'pharmacien') //change 125 to the ID of your field and 'Author' to the value of your radio button WSIS: or single checkbox
    $user_role = 'pharmacien'; // WSIS: rolename
  }
  return $user_role;
}
 
add_filter('frmreg_new_role', 'statut_new_role', 10, 2);

Finalement vérifier si en testant le formulaire il va attribuer le bon rôle au nouvel utilisateur enregistré postant le formulaire. Assurez vous d’attribuer des valeurs séparées dans votre formulaire et que, dans votre fonction de conditions, vous ayez les bonnes valeurs correspondantes à chaque rôle.

NB : Faire une sauvegarde de votre thème avant d’ajouter ces fonctions tutoriels.

Posted By | 8 août 2019 | Tutoriels | 0

Laisser un commentaire

Infolettre

Inscrivez vous à notre infolettre pour être informer de nos derniers tutoriels, produits, nouveautés, développements.

Nous gardons vos données privées et ne les partageons qu’avec les tierces parties qui rendent ce service possible. Lire notre politique de confidentialité.