{"id":25472,"date":"2021-06-07T11:19:00","date_gmt":"2021-06-07T08:19:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25472"},"modified":"2021-10-18T02:08:20","modified_gmt":"2021-10-17T23:08:20","slug":"connectez-vous-avec-un-numero-de-telephone-dans-wordpress","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/connectez-vous-avec-un-numero-de-telephone-dans-wordpress\/","title":{"rendered":"Connectez-vous avec un num\u00e9ro de t\u00e9l\u00e9phone dans WordPress"},"content":{"rendered":"<p>Vous avez peut-\u00eatre plac\u00e9 un formulaire de connexion frontal sur votre site Web WordPress. Et vous voulez permettre aux utilisateurs de se connecter avec leur num\u00e9ro de t\u00e9l\u00e9phone ou en utilisant leur nom d&rsquo;utilisateur\/adresse e-mail. Fondamentalement, vous autorisez les utilisateurs \u00e0 saisir n&rsquo;importe quelle entr\u00e9e parmi Nom d&rsquo;utilisateur\/Email\/T\u00e9l\u00e9phone et un mot de passe.<\/p>\n<p>Veuillez noter que ce tutoriel n&rsquo;a pas l&rsquo;intention de montrer la connexion avec OTP. Au lieu de cela, je vais ajouter une autre option de num\u00e9ro de t\u00e9l\u00e9phone ainsi que le nom d&rsquo;utilisateur et l&rsquo;e-mail. Ainsi, vos utilisateurs peuvent choisir n&rsquo;importe quelle option qui leur convient. Vous avez probablement vu cette option sur Amazon. Amazon nous permet de nous connecter avec un e-mail ou un num\u00e9ro de t\u00e9l\u00e9phone portable.<\/p>\n<p>Je vais cr\u00e9er un formulaire de connexion simple. Sur le formulaire soumis, nous \u00e9crirons un code qui v\u00e9rifie les informations d&rsquo;identification en arri\u00e8re-plan pour les 3 options (nom d&rsquo;utilisateur\/courriel\/t\u00e9l\u00e9phone) et un mot de passe.<\/p>\n<p>Afin d&rsquo;ajouter un num\u00e9ro de t\u00e9l\u00e9phone sur un formulaire de connexion, vous devez ins\u00e9rer un num\u00e9ro de t\u00e9l\u00e9phone d&rsquo;un utilisateur dans la table &lsquo;wp_usermeta&rsquo;. Vous pouvez le faire au moment de l&rsquo;enregistrement de l&rsquo;utilisateur. Le code ci-dessous peut \u00eatre utilis\u00e9 pour ajouter un num\u00e9ro de t\u00e9l\u00e9phone d&rsquo;un utilisateur.<\/p>\n<pre><code>&lt;?php\n$user_id = 1;\n$phone_number = 9999999999;\nadd_user_meta( $user_id, 'user_phone', $phone_number);<\/code><\/pre>\n<p>Une fois que vous avez meta_key &lsquo;user_phone&rsquo; avec sa valeur dans la base de donn\u00e9es, vous pouvez ajouter une connexion avec l&rsquo;option de num\u00e9ro de t\u00e9l\u00e9phone dans un formulaire de connexion. Mettons le formulaire de connexion suivant sur votre page de connexion.<\/p>\n<pre><code>&lt;?php\n$return = log_the_user_in();\nif( is_wp_error( $return)) {\n\u00a0\u00a0\u00a0\u00a0echo $return-&gt;get_error_message();\n}\n?&gt;\n&lt;form method=\"post\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"text\" name=\"user_login\" placeholder=\"Username, email or mobile\" required \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"password\" name=\"user_password\" placeholder=\"Password\" required \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"hidden\" name=\"login_nonce\" value=\"&lt;?php echo wp_create_nonce('login_nonce'); ?&gt;\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"login_the_user\" value=\"Submit\" \/&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p>Dans le code ci-dessus, nous v\u00e9rifions les erreurs et les imprimons. Nous \u00e9crirons du code pour g\u00e9rer les erreurs dans les prochaines \u00e9tapes. De plus, nous avons ajout\u00e9 un nonce dans le formulaire qui est la m\u00e9thode recommand\u00e9e pour traiter les formulaires dans WordPress.<\/p>\n<h3>Connectez-vous avec un num\u00e9ro de t\u00e9l\u00e9phone dans WordPress<\/h3>\n<p>Lorsqu&rsquo;un utilisateur remplit ses informations d&rsquo;identification et clique sur un bouton d&rsquo;envoi, nous prenons les informations d&rsquo;identification et les v\u00e9rifions par rapport \u00e0 la base de donn\u00e9es. Si les informations d&rsquo;identification sont correctes, nous connecterons l&rsquo;utilisateur et le redirigerons vers la page d&rsquo;accueil. En cas d&rsquo;informations d&rsquo;identification erron\u00e9es, les erreurs sont enregistr\u00e9es avec la <code>WP_Error<\/code>classe.<\/p>\n<p>\u00c9crivez donc le code ci-dessous dans le <code>functions.php<\/code>fichier qui traite le formulaire de connexion.<\/p>\n<pre><code>&lt;?php\nadd_action( 'init', 'log_the_user_in' );\nfunction log_the_user_in() {\n\u00a0\u00a0\u00a0\u00a0if (isset( $_POST['login_the_user']) &amp;&amp; wp_verify_nonce( $_REQUEST['login_nonce'], 'login_nonce')) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (! empty( $_POST['user_login']) &amp;&amp;! empty( $_POST['user_password'])) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (is_email( $_POST['user_login'])) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ check user by email\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$user = get_user_by( 'email', $_POST['user_login'] );\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} elseif (is_numeric( $_POST['user_login'])) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ check user by phone number\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0global $wpdb;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$tbl_usermeta = $wpdb-&gt;prefix.'usermeta';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$user_id = $wpdb-&gt;get_var( $wpdb-&gt;prepare( \"SELECT user_id FROM $tbl_usermeta WHERE meta_key=%s AND meta_value=%s\", 'user_phone', $_POST['user_login']) );\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$user = get_user_by( 'ID', $user_id );\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} else {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ check user by username\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$user = get_user_by( 'login', $_POST['user_login'] );\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (! $user) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return new WP_Error('wrong_credentials', 'Invalid credentials.');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ check the user's login with their password.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (! wp_check_password( $_POST['user_password'], $user-&gt;user_pass, $user-&gt;ID)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return new WP_Error('wrong_credentials', 'Invalid credentials.');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0wp_clear_auth_cookie();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0wp_set_current_user($user-&gt;ID);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0wp_set_auth_cookie($user-&gt;ID);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0wp_redirect(get_bloginfo('url'));\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0exit;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} else {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return new WP_Error('empty', 'Both fields are required.');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Ici, nous avons d&rsquo;abord v\u00e9rifi\u00e9 le nonce pour prot\u00e9ger notre formulaire contre certains types d&rsquo;abus, de code malveillant et d&rsquo;attaques CSRF. Ensuite, en fonction de <code>is_email()<\/code>ou de la <code>is_numeric()<\/code>m\u00e9thode, il v\u00e9rifie l&rsquo;e-mail et le num\u00e9ro de t\u00e9l\u00e9phone valides. Si la valeur saisie n&rsquo;est pas un e-mail ou un t\u00e9l\u00e9phone, nous choisissons le nom d&rsquo;utilisateur. Si les informations d&rsquo;identification sont satisfaites, les utilisateurs se connectent au syst\u00e8me et redirigent vers la page d&rsquo;accueil. Dans votre cas, vous pouvez rediriger les utilisateurs vers une autre page selon votre flux.<\/p>\n<p>J&rsquo;esp\u00e8re que vous comprenez comment int\u00e9grer la connexion avec un num\u00e9ro de t\u00e9l\u00e9phone dans WordPress. S&rsquo;il vous pla\u00eet partager vos pens\u00e9es et suggestions dans la section commentaires ci-dessous.<\/p>\n<h4>Articles Li\u00e9s<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/charger-du-contenu-dynamique-sur-bootstrap-modal-dans-wordpress\/\" title=\"Charger du contenu dynamique sur Bootstrap Modal dans WordPress\" >Charger du contenu dynamique sur Bootstrap Modal dans WordPress<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-creer-un-widget-elementor-personnalise\/\" title=\"Comment cr\u00e9er un widget Elementor personnalis\u00e9\" >Comment cr\u00e9er un widget Elementor personnalis\u00e9<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-ajouter-des-points-de-terminaison-personnalises-a-l-api-wordpress\/\" title=\"Comment ajouter des points de terminaison personnalis\u00e9s \u00e0 l'API WordPress\" >Comment ajouter des points de terminaison personnalis\u00e9s \u00e0 l&rsquo;API WordPress<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans cet article, nous \u00e9tudions comment int\u00e9grer la connexion avec le num\u00e9ro de t\u00e9l\u00e9phone dans WordPress. C&rsquo;est parfois une option pratique pour vos utilisateurs. Amazone<\/p>\n","protected":false},"author":1,"featured_media":20317,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[608],"tags":[844],"class_list":["post-25472","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized-4","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/25472","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/comments?post=25472"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/25472\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media\/20317"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media?parent=25472"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=25472"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=25472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}