Cum să creezi un formular de înregistrare fără plugin
Cum putem crea un formular de înregistrare fără a folosi un plugin în dezvoltarea de teme WordPress și cum pot fi salvate datele formularului în baza de date? Deoarece sunt nou în dezvoltarea de teme, nu am nicio idee... ajutați-mă!!! Am acest formular simplu de înregistrare și nu știu cum să îl implementez în WordPress fără a folosi un plugin în tema mea. Vreau să înțeleg cum funcționează mecanismul de înregistrare a utilizatorilor în WordPress.
<div class="col-md-6 login-do">
<input type="hidden" name="action" value="add_foobar">
<input type="hidden" name="data" value="foobarid">
<div class="login-mail">
<input type="text" placeholder="Nume" name='user_name' required="">
<i class="glyphicon glyphicon-user"></i>
</div>
<div class="login-mail">
<input type="text" placeholder="Număr de telefon" name='user_number' required="">
<i class="glyphicon glyphicon-phone"></i>
</div>
<div class="login-mail">
<input type="text" placeholder="Email" name='user_email' required="">
<i class="glyphicon glyphicon-envelope"></i>
</div>
<div class="login-mail">
<input type="password" placeholder="Parolă" name='user_password' required="">
<i class="glyphicon glyphicon-lock"></i>
</div>
<a class="news-letter " href="#">
<label class="checkbox1"><input type="checkbox" name="checkbox" ><i> </i>Am uitat parola</label>
</a>
<label class="hvr-skew-backward">
<input type="submit" value="Trimite" name="submit">
</label>
</div>

În PHP-ul tău, folosește wp_create_user()
.
Cu această funcție, poți transmite username
, email
și `password'.
Apoi, folosește wp_update_user()
pentru a adăuga utilizatorului celelalte informații.
Eu aș lega funcția de creare a utilizatorului la hook-ul init
.
De asemenea, ar fi bine să adaugi un câmp nonce în formularul tău, de exemplu acesta, între tag-urile <form>
:
<?php wp_nonce_field( 'create_user_form_submit', 'djie3duhb3edub3u' ); ?>
Exemplu:
add_action('init', 'my_theme_create_new_user');
function my_theme_create_new_user(){
if (
! isset( $_POST['djie3duhb3edub3u'] )
|| ! wp_verify_nonce( $_POST['djie3duhb3edub3u'], 'create_user_form_submit')
){
// nu face nimic
}else{
$username = sanitize_text_field($_POST['user_name']);
$email = sanitize_text_field($_POST['user_email']);
$password = $_POST['user_password'];
$user_id = username_exists( $username );
if ( !$user_id and email_exists($email) === false ) {
// adaugă cod pentru validarea parolei cum dorești.
$user_id = wp_create_user( $username, $password, $email );
$stuff = array('ID'=>$user_id,'another_user_field'=>'something');
wp_update_user($stuff) // prenume, nume etc.
} else {
return false; // numele de utilizator există deja
}
}
}
