Category Archives: Tips and Tricks

Dezautentificare in WordPress

Pentru a integra in tema functionalitatea de dezautentificare ajunge sa adaugi un parametru in url si daca este setat acest parametru sa se apeleze functia de logout din WordPress.

Linkul trebuie sa fie ceva de genu:

http://domeniul.tau/?out=1

Adauga urmatorul cod in functions.php in tema WordPress:

1
2
3
4
5
6
7
8
9
10
<?php
 
if ($_GET['out'] == 1 ) {
  wp_logout();  // in acest moment se va face delogarea 
 
  wp_redirect(home_url()); // vom face redirect la prima pagina. Avem nevoie de un refresh ca sa se vada efectul de logout. 
 
}
 
?>

Autentificare in WordPress pe baza de email

Posibil ca la un moment dat vei avea nevoie de o logare automata pe baza de email. In mod normal pentru orice sistem de autentificare trebuie sa introduci un utilizator / o adresa email si o parola.

Dar ce se intampla cand ai doar o adresa de email?

In WordPress se poate aplica un mic hack ce NU ESTE RECOMANDAT, dar va arat cum se poate implementa:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
// Aceasta functie se poate copie in folderul vostru de tema WordPress in fisierul functions.php 
// @param:  string $email - adresa de email 
 
function autentificare_dupa_email ( $email ) {
   $user_id = email_exists($email);   // daca exista adrese de email, functia va returna id-ul utilizatorului 
 
    if (!$user_id) return false;      // daca nu avem $user_id inseamna ca nu exista utilizatorul in baza de date, deci nu se va loga
 
    wp_set_current_user($user_id, $email); // setam utilizatorul curent in WordPress
 
    wp_set_auth_cookie($user_id);          // creeam cookie-ul de autentificare pentru a pastra utilizatorul logat. 
}
 
// Unde vrem sa apelam auto autentificarea introducem urmatoare linie: 
 
autentificare_dupa_email ('sandor@mailinator.com'); 
 
// Utilizatorul in acest moment este logat si se poate apela functia is_user_logged_in() ce va returna TRUE. 
?>