Функция CLEAN_USER_CACHE() в WordPress
Функция clean_user_cache()
используется для очистки кэша конкретного пользователя в WordPress. Это важно, если вы обновляете данные пользователя, и хотите быть уверенными, что используете актуальную информацию.
Основная информация
- Версия WordPress: 3.0.0
- Производительность:
- 1 вызов — 0.000052 секунды (очень быстро)
- 50000 вызовов — 8 секунд (быстро)
Хуки функции
- Хук:
clean_user_cache
Возвращаемое значение
Функция ничего не возвращает (null).
Использование функции
Сигнатура
clean_user_cache( $user );
Параметры
$user
(объект WP_User или int) (обязательный): объект пользователя или его идентификатор, кэш которого будет очищен.
Пример использования
Допустим, вы обновили данные пользователя, и они могли измениться. Например, вы изменили их через прямой запрос к базе данных. В таком случае данные в кэше могут не совпадать с актуальными данными.
Чтобы обновить все это, вам нужно очистить кэш пользователя. Это можно сделать следующим образом:
$user_id = 12;
clean_user_cache( $user_id );
Произведя этот вызов, вы гарантируете, что следующая информация о пользователе, которую вы получите, будет актуальной.
Изменения в версии
- С версии 3.0.0: Функция впервые была добавлена.
- С версии 4.4.0: Добавлен хук
clean_user_cache
. - С версии 6.2.0: Кэши метаданных пользователя теперь также очищаются.
Код функции CLEAN_USER_CACHE
function clean_user_cache( $user ) {
if ( is_numeric( $user ) ) {
$user = new WP_User( $user );
}
if ( ! $user->exists() ) {
return;
}
wp_cache_delete( $user->ID, 'users' );
wp_cache_delete( $user->user_login, 'userlogins' );
wp_cache_delete( $user->user_nicename, 'userslugs' );
if ( ! empty( $user->user_email ) ) {
wp_cache_delete( $user->user_email, 'useremail' );
}
wp_cache_delete( $user->ID, 'user_meta' );
wp_cache_set_users_last_changed();
/**
* Вызывается сразу после очистки кэша указанного пользователя.
*
* @since 4.4.0
*
* @param int $user_id ID пользователя.
* @param WP_User $user Объект пользователя.
*/
do_action( 'clean_user_cache', $user->ID, $user );
}
Похожие функции
Если вам интересны функции, связанные с кэшированием и пользователями, вы можете обратить внимание на следующие:
-
Кэширование объектов:
_prime_post_caches()
clean_comment_cache()
clean_post_cache()
wp_cache_add()
wp_cache_delete()
- и многие другие.
-
Функции работы с пользователями:
current_user_can()
delete_user_option()
get_userdata()
wp_create_user()
wp_update_user()
- и другие.
Эти функции помогут вам более эффективно управлять кэшированием и пользователями в WordPress.
Теперь у вас есть полное представление о функции clean_user_cache()
и её использовании. Если у вас остались вопросы, не стесняйтесь задавать их!