Limited Support
Our team is currently on holiday, so support will be limited during this period. Response times may be slower than usual, and some inquiries may be delayed.
We appreciate your patience and understanding, and we’ll resume our usual support by the end of August.
Jul 31, 2021 8:06 pm
Hello!
The site has an LMS plugin into which users upload their avatars. I want them to appear in comments, I was able to replace wordpress avatars with LMS avatars using a hook, but wpDiscuz won't load them. Help me find a solution.
Standard comments
After installing wpDiscuz
Here is the hook by which I will successfully override the Wordpress avatars:
add_filter('get_avatar_data', 'lms_avatar', 10, 2); function lms_avatar($args, $id_or_email){ $lmsUrl = get_user_meta($id_or_email->user_id, 'stm_lms_user_avatar', true); if ($id_or_email->user_id >= null && $lmsUrl != null){ $args['url'] = $lmsUrl; return $args; } else { $args['url'] = get_stylesheet_directory_uri() . '/img/avatar-user.jpg'; return $args; } }
2 Replies
Jul 31, 2021 10:00 pm
I figured out, it turns out that the plugin overrides the function and the $ id_or_email argument is already an ID.
add_filter('get_avatar_data', 'lms_avatar', 10, 2); function lms_avatar($args, $userId){ //Получаем путь к аватару, загруженному через lms $lmsUrl = get_user_meta($userId, 'stm_lms_user_avatar', true); //Если Id пользователя больше или равно 0 и путь к аватару lms существет, то заменяем на этот путь к аватару if ($userId >= null && $lmsUrl != null){ $args['url'] = $lmsUrl; return $args; } //Иначе применяем картинку аватара по умолчанию, которая лежит внутри папки темы ../img/avatar.jpg else { $args['url'] = get_stylesheet_directory_uri() . '/img/avatar-user.jpg'; return $args; } }