我一直在试图找到一个解决方案,我想要么没有一个解决方案,要么是我缺乏知识真的让我在这里后退。简而言之,我在我的Wordpress站点上安装了buddypress,并且我一直在使用简单的本地头像供用户管理他们的头像。由于我一直在使用它,并在简单的本地头像插件中加入了一些定制,所以我想看看是否可以用本地头像替换所有的buddypress头像。
简而言之,我的研究让我得出了这样的结论:伙伴出版社使用bb_get_avatar函数来显示和管理它的头像,而本地的头像插件使用get_avatar函数,所以在我拔掉头发、喝咖啡并返回后,我在functions.php文件中找到了以下代码片段。这看起来合乎逻辑,但不起作用,这可能是由于我的新手,但嘿,我尝试..
这是我在functions.php中所拥有的:
//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的头像,并让它拉本地的头像?
感谢阅读:)
发布于 2013-04-29 14:17:50
在使用BuddyPress时,您需要查看bp_core_fetch_avatar()。当英国石油公司安装的时候,它到处都是。在论坛上也是如此。
你应该使用它的filters,比如bp_core_fetch_avatar和bp_core_fetch_avatar_url。
发布于 2014-09-10 23:30:32
有一个终极解决方案:
1 wordpress设置中的>>将头像设置为‘空’或‘无’(对不起,我有一个法语版的wordpress)
2 >>将该代码放入您的function.php
// 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 //伙伴新闻已经有他自己的头像替换系统的能力;)
发布于 2016-01-17 03:44:57
一种可能的、更简单的解决方案..
add_filter('bp_core_fetch_avatar_no_grav', '__return_true');添加到插件/bp-custom.php
最初的答案,这里有更好的解释..
https://stackoverflow.com/questions/16268953
复制相似问题