✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

Что такое пользовательские кэши WordPress?

24

Если вы когда-либо работали над проектом, когда вам нужно работать с файлами cookie аутентификации WordPress, вы, вероятно, наткнулись на функцию wp_set_auth_cookie. Короче говоря, эта функция :

Устанавливает файлы cookie для аутентификации на основе идентификатора пользователя.

И когда вы используете эту функцию, вы, по сути, создаете файл cookie, который используется для аутентификации пользователя при входе в WordPress.

Но если вы хотите программно аутентифицировать пользователя в WordPress, то для правильного выполнения этого потребуется несколько дополнительных шагов, особенно если вы работаете с плагинами кэширования.

И здесь в игру вступают пользовательские кеши WordPress.

Кэш пользователей WordPress

Помимо простого создания файла cookie для проверки подлинности, важно убедиться, что вы делаете следующее:

  • очистить пользовательские кэши,
  • избавиться от аутентификационных файлов cookie,
  • установить текущего пользователя,
  • установить файл cookie аутентификации,
  • обновите пользовательские кэши.

Звучит как сложное решение, верно? Приятно то, что есть несколько функций (связанных выше), которые делают это действительно легко.

Важно помнить, что вам нужен экземпляр WP_User, чтобы делать все это. То, как вы извлекаете экземпляр пользователя, будет зависеть от функциональности вашего плагина.

То есть, возможно, вы сможете получить ссылку на пользователя с указанным именем пользователя :

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

Или, может быть, у вас есть адрес электронной почты, который вы можете использовать :

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

В любом случае, следующие шаги должны иметь пользователя, если вы хотите сделать это правильно. Итак, с учетом сказанного, вот как может выглядеть код :

<?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 );

Вот и все! Итак, вот описание того, что делает каждая функция:

  • чистый_пользователь_кэш. Это удалит всю кэшированную информацию о пользователях.
  • wp_clear_auth_cookie. Когда пользователь проходит аутентификацию в WordPress, сохраняется файл cookie. Это удалит этот файл cookie аутентификации.
  • wp_set_current_user. Учитывая экземпляр WP_User, скажите WordPress пометить этого пользователя (разрешив, что он / она существует в базе данных)
  • wp_set_auth_cookie. Это создаст файл cookie, используемый для аутентификации пользователя, который был только что установлен в предыдущей функции.
  • update_user_caches. Наконец, это обновит пользовательские кеши информацией о новых годах.

Когда дело доходит до работы с кэшированием пользователей WordPress, аутентификацией и переходом к программной аутентификации пользователей, следует использовать эти функции.

Источник записи: tommcfarlin.com

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее