The effects of alcohol on sustanon 250 leucine for – real weight loss & bodybuilding benefits?
Overriding user ava...
 
Share:
Notifications
Clear all

[Solved] Overriding user avatar

3 Posts
2 Users
0 Reactions
1,912 Views
Posts: 2
Topic starter
(@antinopol)
New Member
Joined: 3 years ago

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

image

After installing wpDiscuz

image

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;
    }
}
Topic Tags
2 Replies
Posts: 2
Topic starter
(@antinopol)
New Member
Joined: 3 years ago

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;
    }
}
1 Reply
Asti
 Asti
Support
(@asti)
Joined: 7 years ago

Illustrious Member
Posts: 7615

Thank you for letting us know. Glad to hear that the issue is fixed.

Share: