Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Que sont les caches utilisateur WordPress ?

15

Si vous avez déjà travaillé sur un projet lorsque vous avez besoin de travailler avec des cookies d’authentification WordPress, vous êtes probablement tombé sur la fonction wp_set_auth_cookie. En bref, cette fonction :

Définit l’ID utilisateur basé sur les cookies d’authentification.

Et lorsque vous utilisez cette fonction, vous créez essentiellement un cookie qui est utilisé pour authentifier l’utilisateur pour se connecter à WordPress.

Mais si vous cherchez à authentifier un utilisateur avec WordPress par programmation, quelques étapes supplémentaires sont nécessaires pour le faire correctement, surtout si vous travaillez avec des plugins de mise en cache.

Et c’est là que les caches d’utilisateurs WordPress entrent en jeu.

Caches utilisateur WordPress

Outre la simple création d’un cookie d’authentification, il est important de vous assurer que vous procédez comme suit :

  • vider les caches utilisateurs,
  • supprimer les cookies d’authentification,
  • définir un utilisateur actuel,
  • paramétrer le cookie d’authentification,
  • mettre à jour les caches des utilisateurs.

Cela ressemble à une solution compliquée, non? La bonne chose est qu’il existe une poignée de fonctions (liées ci-dessus) qui rendent cela vraiment facile.

La chose importante à retenir est que vous avez besoin d’une instance de WP_User pour faire tout cela. La façon dont vous récupérez une instance de l’utilisateur dépendra de la fonctionnalité de votre plugin.

C’est-à-dire que vous êtes peut-être en mesure de récupérer une référence pour un utilisateur à partir d’ un nom d’utilisateur :

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

Ou peut-être avez-vous une adresse e-mail que vous pouvez utiliser :

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

Quel que soit le cas, les étapes suivantes doivent avoir un utilisateur si vous voulez le faire correctement. Cela dit, voici à quoi le code peut ressembler :

<?php

// Clean out any cookies and cookies for an existing user.
clean_user_cache( $user->ID );
wp_clear_auth_cookie();

// Set the current user and update the caches.
wp_set_current_user( $user->ID );
wp_set_auth_cookie( $user->ID, true, false );
update_user_caches( $user );

Et c’est tout! Voici donc la description de ce que fait chaque fonction :

  • clean_user_cache. Cela supprimera toutes les informations des utilisateurs en cache.
  • wp_clear_auth_cookie. Lorsqu’un utilisateur est authentifié avec WordPress, un cookie est stocké. Cela effacera ce cookie d’authentification.
  • wp_set_current_user. Étant donné une instance de WP_User, dites à WordPress de marquer cet utilisateur (permettant qu’il existe dans la base de données)
  • wp_set_auth_cookie. Cela créera le cookie utilisé pour l’authentification de l’utilisateur qui vient d’être défini dans la fonction précédente.
  • update_user_caches. Enfin, cela mettra à jour les caches utilisateur avec les informations avec les nouvelles années.

Lorsqu’il s’agit de travailler avec la mise en cache des utilisateurs WordPress, l’authentification et d’aller de l’avant avec l’authentification des utilisateurs par programmation, ce sont les fonctions qui doivent être utilisées.

Source d’enregistrement: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More