首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用简单的本地头像替换Buddypress头像

用简单的本地头像替换Buddypress头像
EN

Stack Overflow用户
提问于 2013-04-29 06:59:50
回答 3查看 834关注 0票数 1

我一直在试图找到一个解决方案,我想要么没有一个解决方案,要么是我缺乏知识真的让我在这里后退。简而言之,我在我的Wordpress站点上安装了buddypress,并且我一直在使用简单的本地头像供用户管理他们的头像。由于我一直在使用它,并在简单的本地头像插件中加入了一些定制,所以我想看看是否可以用本地头像替换所有的buddypress头像。

简而言之,我的研究让我得出了这样的结论:伙伴出版社使用bb_get_avatar函数来显示和管理它的头像,而本地的头像插件使用get_avatar函数,所以在我拔掉头发、喝咖啡并返回后,我在functions.php文件中找到了以下代码片段。这看起来合乎逻辑,但不起作用,这可能是由于我的新手,但嘿,我尝试..

这是我在functions.php中所拥有的:

代码语言:javascript
复制
//try the avatar thing
function socilize_custom_avatars() {
    global $bb_current_user;
    global $current_user;
    get_currentuserinfo();
    $avatar = bb_get_avatar( $bb_current_user->ID ); 

    unset($avatar); 
    $avatar = get_avatar($current_user->ID);

    return $avatar;
}

似乎(在我看来)它应该工作,但它不是,谁能插话告诉我如何删除buddypress的头像,并让它拉本地的头像?

感谢阅读:)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-29 14:17:50

在使用BuddyPress时,您需要查看bp_core_fetch_avatar()。当英国石油公司安装的时候,它到处都是。在论坛上也是如此。

你应该使用它的filters,比如bp_core_fetch_avatarbp_core_fetch_avatar_url

票数 1
EN

Stack Overflow用户

发布于 2014-09-10 23:30:32

有一个终极解决方案:

1 wordpress设置中的>>将头像设置为‘空’或‘无’(对不起,我有一个法语版的wordpress)

2 >>将该代码放入您的function.php

代码语言:javascript
复制
// Kill gravatar

function bp_remove_gravatar ($image, $params, $item_id, $avatar_dir, $css_id, $html_width, $html_height, $avatar_folder_url, $avatar_folder_dir) {

    $default = get_stylesheet_directory_uri() .'/images/customGravatar.png';

    if( $image && strpos( $image, "gravatar.com" ) ){ 

        return '<img src="' . $default . '" alt="avatar" class="avatar" ' . $html_width . $html_height . ' />';
    } else {
        return $image;

    }

}
add_filter('bp_core_fetch_avatar', 'bp_remove_gravatar', 1, 9 );

function remove_gravatar ($avatar, $id_or_email, $size, $default, $alt) {

    $default = get_stylesheet_directory_uri() .'/images/customGravatar.png';
    return "<img alt='{$alt}' src='{$default}' class='avatar avatar-{$size} photo avatar-default' height='{$size}' width='{$size}' />";
}

add_filter('get_avatar', 'remove_gravatar', 1, 5);

function bp_remove_signup_gravatar ($image) {

    $default = get_stylesheet_directory_uri() .'/images/customGravatar.png';

    if( $image && strpos( $image, "gravatar.com" ) ){ 

        return '<img src="' . $default . '" alt="avatar" class="avatar" width="auto" height="auto" />';
    } else {
        return $image;
    }

}
add_filter('bp_get_signup_avatar', 'bp_remove_signup_gravatar', 1, 1 );

3 >>将所有行'/images/customGravatar.png‘更改为您自己的图像

4 >>现在允许用户上传自己的本地头像添加这个插件:Simple Local Avatars

该插件增加了用户将头像添加到配置文件WORDPRESS //伙伴新闻已经有他自己的头像替换系统的能力;)

票数 0
EN

Stack Overflow用户

发布于 2016-01-17 03:44:57

一种可能的、更简单的解决方案..

代码语言:javascript
复制
add_filter('bp_core_fetch_avatar_no_grav', '__return_true');

添加到插件/bp-custom.php

最初的答案,这里有更好的解释..

https://stackoverflow.com/a/34560419/3377049

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16268953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档