NB : Faire une sauvegarde de votre thème, de votre fichier et/ou votre base de données avant d’ajouter ces fonctions tutoriels.
Publié le : 31 décembre 2017 - Modifié le : 17 janvier 2022
Temps de lecture : 2 minutes, 30 seconds - 241 mots
Partager la publication "Conditions cacher un formulaire si Pays – if Show / Hide form ip country"
Nous allons dans ce nouveau tutoriel apprendre à montrer ou cacher un formulaire Formidable Form par exemple, ou tout autre chose comme une DIV ou message, si le Pays détecté en géolocalisation est Canada.
Dans notre exemple si dessous nous allons montrer un shortcode formulaire Formidable Form si l’IP du visiteur est au Canada. Sinon on lui affiche un formulaire pour dire que les soumissions de ce formulaire ne sont pas autorisés.
La première des conditions c’est que nous allons apprendre à montrer l’IP du client puisque c’est cette valeur qui va être détecté pour faire marcher notre condition.
Afficher l’IP du client
<?php $ip = $_SERVER['REMOTE_ADDR']; echo $ip; ?>
Maintenant nous allons dans une fonction appeler par un fichier échange de données Json, une API de géolocaisation pour obtenir l’IP, le pays dont le client dépends. Ensuite nous allons mettre notre condition en disant que si le Pays du client est Canada, montre le shortcode du formulaire, sinon montre un message.
Cacher un formulaire si Nom de Pays – if Show / Hide form ip country
<?php // Fonction de données géolocalisées function resolveIP($ip) { $string = file_get_contents("https://ipsidekick.com/{$ip}"); $json = json_decode($string); return $json; } // On retourne la valeur de l'IP en appelant notre fonction $ip = $_SERVER['REMOTE_ADDR']; $json = resolveIP($ip); // Si le nom du pays de l'IP client est Canada affiche le formulaire if ($json->country->name == 'Canada') { echo do_shortcode('[formidable id=3]'); } // Sinon else { echo 'Seules les entreprises au Canada sont acceptées.'; } } ?>
On va faire la même fonction mais cette fois-ci en utilisant le code du Pays en changeant la ligne 14 :
Cacher un formulaire si Code de Pays – if Show / Hide form ip country
<?php // Fonction de données géolocalisées function resolveIP($ip) { $string = file_get_contents("https://ipsidekick.com/{$ip}"); $json = json_decode($string); return $json; } // On retourne la valeur de l'IP en appelant notre fonction $ip = $_SERVER['REMOTE_ADDR']; $json = resolveIP($ip); // Si le code du pays de l'IP client est Canada (CA) affiche le formulaire if ($json->country->code == 'CA') { echo do_shortcode('[formidable id=3]'); } // Sinon else { echo 'Seules les entreprises au Canada sont acceptées.'; } } ?>
A vous de choisir laquelle formule vous aimez le mieux.
NB : Faire une sauvegarde de votre thème, de votre fichier et/ou votre base de données avant d’ajouter ces fonctions tutoriels.