Qué son las cachés de usuario de WordPress

Si en alguna ocasión has trabajado en un proyecto en el que necesitaste trabajar con las cookies de WordPress es probable que hayas tenido que lidiar con la función wp_set_auth_cookie. Me refiero a esta función:

Establece las cookies de identificación basándose en la ID de usuario.

Y cuando utilizas esta función, esencialmente, estás creando una cookie que se usa para identificar al usuario al acceder a WordPress.

Pero si quieres saber cómo identificar automáticamente a un usuario con WordPress entonces hay unos cuantos pasos adicionales obligatorios para hacerlo correctamente, especialmente si usas plugins de caché.

Y ahí es dónde entran en juego las cachés de usuario de WordPress.

Las cachés de usuario de WordPress

Además de la creación de una cookie de identificación, es importante asegurarte de que estás haciendo lo siguiente:

  • Vaciando las cachés de usuario,
  • Deshaciéndote de las cookies de identificación,
  • Definiendo el usuario actual,
  • Estableciendo la cookie de identificación,
  • Actualizando las cachés de usuario.

Suena algo complicado ¿verdad? La parte buena es que hay unas cuantas funciones (las que he enlazado arriba) que hacen que sea algo sencillo.

Lo más importante que debes recordar es que necesitas una instancia de WP_User para poder hacer todo esto. Cómo extraigas una instancia del usuario dependerá de la funcionalidad de tu plugin.

Exacto, puede que seas capaz de extraer una referencia para un usuario dando un nombre de usuario:

<?php
$user = get_user_by( 'login', $username );

O quizás puedas utilizar una dirección de correo electrónico:

<?php		
$user = get_user_by( 'email', $email );

Sea cualquier sea el caso, los siguientes pasos deben tener usuario si quieres hacerlo bien. Así que, dicho esto, el código sería algo así:

<?php

// Limpia las cookies y las cookies de cualquier usuario.
clean_user_cache( $user->ID );
wp_clear_auth_cookie();

// Define el usuario actual y actualiza las cachés.
wp_set_current_user( $user->ID );
wp_set_auth_cookie( $user->ID, true, false );
update_user_caches( $user );

¡Eso es todo! Aquí tienes la descripción de lo que hace cada función:

  • clean_user_cache. Esto borra toda la información de los usuarios en caché.
  • wp_clear_auth_cookie. Cuando un usuario está identificado con WordPress se almacena una cookie. Esto vaciará la cookie de identificación.
  • wp_set_current_user. Obtenida una instancia de WP_User, le dice a WordPress que marque a este usuario (permitiendo que exista en la base de datos)
  • wp_set_auth_cookie. Esto creará la cookie utilizada para identificar al usuario definida en la anterior función.
  • update_user_caches. Para finalizar, esto actualizará las cachés de usuario con la información de cada año.

Cuando tengas que trabajar con cachés de usuario en WordPress, identificación y para además identificar usuarios de manera automática, debes usar estas funciones.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(8 votos, promedio: 5)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido