✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Що таке кеші користувачів WordPress?

20

Якщо ви коли-небудь працювали над проектом, коли вам потрібно було працювати з автентифікаційними файлами 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 );

І це все! Отже, ось опис того, що робить кожна функція:

  • clean_user_cache. Це видалить всю кешовану інформацію про користувачів.
  • 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, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі