@Azat2015

Wordpress: Как получить ID текущего пользователя в виджете?

Как получить ID пользователя в виджете?
get_current_user_id() не работает, насколько я понял потому что плагины грузятся раньше функций.
  • Вопрос задан
  • 846 просмотров
Решения вопроса 1
kumaxim
@kumaxim
Web-программист
Данные пользователя инициализируются на хуке init, а плагины свою логику выполняют на хуке plugins_loaded, который срабатывает раньше чем init.

Первое что тебе нужно сделать - посмотри хронологию загрузки хуков Wordpress либо поставь плагин Query monitor(вообще полезный плагин для разработчика).

Второе - определись где и для чего тебе нужно вытаскивать ID юзера. Если у тебя виджет в личном кабинете на фронте, тогда смело можешь вешать свою логику с get_current_user_id() на хук template_redirect и ты получишь ID юзера без проблем.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@glebn
Золото, а не человек!
Если вы вызовите эту функцию в файле плагина напрямую, то на этот момент функция wp_get_current_user еще не определена и get_current_user_id вернет 0.

Чтобы этого избежать вешайте всю работу плагина на хук plugins_loaded или еще позднее на init и там уже вызывайте эту функцию.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы