{"id":25816,"date":"2021-06-07T11:44:00","date_gmt":"2021-06-07T08:44:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25816"},"modified":"2021-10-18T03:04:56","modified_gmt":"2021-10-18T00:04:56","slug":"accedi-con-il-numero-di-telefono-in-wordpress","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/accedi-con-il-numero-di-telefono-in-wordpress\/","title":{"rendered":"Accedi con il numero di telefono in WordPress"},"content":{"rendered":"<p>Potresti aver inserito un modulo di accesso front-end sul tuo sito Web WordPress. E vuoi consentire agli utenti di accedere con il loro numero di telefono o utilizzando nome utente\/e-mail. Fondamentalmente, stai consentendo agli utenti di inserire una qualsiasi delle voci tra Nome utente\/Email\/Telefono e una password.<\/p>\n<p>Tieni presente che questo tutorial non intende mostrare l&#8217;accesso con OTP. Invece, aggiunger\u00f2 un&#8217;altra opzione di numero di telefono insieme a nome utente ed e-mail. Quindi i tuoi utenti possono scegliere qualsiasi opzione che sia conveniente per loro. Probabilmente hai visto questa opzione su Amazon. Amazon ci consente di accedere con e-mail o numero di cellulare.<\/p>\n<p>Creer\u00f2 un semplice modulo di accesso. Sul modulo di invio, scriveremo un codice che controlla le credenziali in background per tutte e 3 le opzioni (Nome utente\/Email\/Telefono) e una password.<\/p>\n<p>Per aggiungere un numero di telefono in un modulo di accesso, \u00e8 necessario inserire un numero di telefono di un utente nella tabella &#8216;wp_usermeta&#8217;. Puoi farlo al momento della registrazione dell&#8217;utente. Il codice seguente pu\u00f2 essere utilizzato per aggiungere un numero di telefono di un utente.<\/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>Una volta che hai meta_key &#8216;user_phone&#8217; insieme al suo valore nel database, puoi aggiungere l&#8217;accesso con l&#8217;opzione del numero di telefono in un modulo di accesso. Mettiamo il seguente form di login nella tua pagina di login.<\/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>Nel codice sopra, stiamo controllando gli errori e stampandoli. Scriveremo il codice per la gestione degli errori nei passaggi successivi. Inoltre, abbiamo aggiunto un nonce nel modulo che \u00e8 il modo consigliato di elaborare i moduli in WordPress.<\/p>\n<h3>Accedi con il numero di telefono in WordPress<\/h3>\n<p>Quando un utente inserisce le credenziali e preme un pulsante di invio, prenderemo le credenziali e le verificheremo sul database. Se le credenziali sono corrette, effettueremo il login dell&#8217;utente e lo reindirizzeremo alla home page. In caso di credenziali errate, gli errori vengono registrati con la <code>WP_Error<\/code>classe.<\/p>\n<p>Quindi scrivi il codice qui sotto nel <code>functions.php<\/code>file che elabora il form di login.<\/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>Qui, abbiamo prima verificato il nonce per proteggere il nostro modulo da alcuni tipi di uso improprio, codice dannoso e attacchi CSRF. Successivamente, in base a <code>is_email()<\/code>o <code>is_numeric()<\/code>metodo, verifica la presenza di e-mail e numero di telefono validi. Se il valore inserito non \u00e8 un&#8217;e-mail o un telefono, scegliamo nome utente. Se le credenziali sono soddisfatte, gli utenti accedono al sistema e reindirizzano alla home page. Nel tuo caso, puoi reindirizzare gli utenti a un&#8217;altra pagina secondo il tuo flusso.<\/p>\n<p>Spero che tu capisca come integrare l&#8217;accesso con un numero di telefono in WordPress. Per favore condividi i tuoi pensieri e suggerimenti nella sezione commenti qui sotto.<\/p>\n<h4>articoli Correlati<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/carica-contenuto-dinamico-su-bootstrap-modal-in-wordpress\/\" title=\"Carica contenuto dinamico su Bootstrap Modal in WordPress\" >Carica contenuto dinamico su Bootstrap Modal in WordPress<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-creare-un-widget-elementor-personalizzato\/\" title=\"Come creare un widget Elementor personalizzato\" >Come creare un widget Elementor personalizzato<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-aggiungere-endpoint-personalizzati-all-api-di-wordpress\/\" title=\"Come aggiungere endpoint personalizzati all'API di WordPress\" >Come aggiungere endpoint personalizzati all&#8217;API di WordPress<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In questo articolo, studiamo come integrare il login con il numero di telefono in WordPress. A volte \u00e8 un&#8217;opzione conveniente per i tuoi utenti. Amazon<\/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":[611],"tags":[846],"class_list":["post-25816","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized-7","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/25816","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=25816"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/25816\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/20317"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=25816"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=25816"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=25816"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}