Tagged: avatar
Hello,
I don’t know where to post. The support forum of BuddyPress is unhelpful, nobody helps. So this may be a good place I can get help. I would like to change avatar size in the member directory page, just only this page, not other places else. According to the theme design I use, the profile avatar in the Profile looks great. It looks big enough and I’m satisfied. I just want to change the one in the member directory page to look bigger like the one in the profile. How can I do that? I’ve inspected the element in the member directory page and found that the default value is width=66 and height=66. So I change the style to 160px as below:
#buddypress .item-avatar img {
width: 160px;
height: 160px;
}The size’s increased but it looks blurred. Where can I add or change the code in php without being blurred?
Thanks.
If I add this one, does this apply to the one in the profile as well? Because I want to apply to the member directory page only.
define ( ‘BP_AVATAR_THUMB_WIDTH’, 80 );
define ( ‘BP_AVATAR_THUMB_HEIGHT’, 80 );
define ( ‘BP_AVATAR_FULL_WIDTH’, 250 );
define ( ‘BP_AVATAR_FULL_HEIGHT’, 250 );Hi Topy,
You are welcome to ask here any question.For now,
Please put thisdefine ( 'BP_AVATAR_THUMB_WIDTH', 160 ); define ( 'BP_AVATAR_THUMB_HEIGHT', 160 );
It will change the thumb size everywhere(activity, dir etc). You will need to re upload avatar to generate with new size.
If this is not what you want and you only specifically need it for the members directory list, there are other ways(using a filter).
Hope this helps.
Regards
BrajeshBy the way, Brajesh. I also apply this one to change the default size of mysteryman, the gravatar.
define ( 'BP_AVATAR_DEFAULT', 'https://mysite.com/wp-content/uploads/2018/02/9add5c7d20fee64cb5840e37c93538e6.jpg' ); define ( 'BP_AVATAR_DEFAULT_THUMB', 'https://mysite.com/wp-content/uploads/2018/02/9add5c7d20fee64cb5840e37c93538e6.jpg' );
But it applies to the member directory page but doesn’t apply to myCred leaderboard. Do you know how to change this one too. myCred leaderboard displays top ten users by rank, avatar, points.
Hi Topy,
Thank you.1. Is the member list issue resolved(Sorry, I am a bit confused from the reply)
2. For myCred, I will need a day to check as I don’t have it installed. It may not be using BuddyPress avatar function and might be calling get_avatar instead.
Thank you
BrajeshFor the number2, actually mycred leaderboard comes with the theme and I use a shortcode provided from the theme to display the leaderboard. The uploaded profile picture here at the leaderboard is width 50 and height 50 by default. I’ve changed the style to
.gfy-bp-component img.avatar { width: 160px; }
But It’s not blurred like the number 1 issue. Just only the gravatar is blurred.It’s now 50 by default.
Previously, I’m done with this code
/** * Add Avatars To Leaderboard * @since 1.0 * @version 1.0 */ add_filter( 'mycred_ranking_row', 'mycredpro_add_avatars_to_leaderboard', 10, 4 ); function mycredpro_add_avatars_to_leaderboard( $layout, $template, $user, $position ) { if ( isset( $user->ID ) ) $user_id = $user->ID; elseif ( isset( $user['ID'] ) ) $user_id = $user['ID']; else return $layout; $avatar = get_avatar( $user_id, 90 ); return str_replace( '%avatar%', $avatar, $layout ); }
But this time the leaderboard comes with the theme. I don’t know where to change. The above doesn’t work. The plugin associated with mycred and this theme comes with the theme, it’s gambifly. I’ve check the template file in the plugin, it looks like this
<?php // Prevent direct script access. if ( ! defined( 'ABSPATH' ) ) { die( 'No direct script access allowed' ); } /** * @var $component_classes string Component HTML classes * @var $component_id string Component unique id * @var $shortcode_config array<string,mixed> Shortcode attributes * @version 1.0 */ $local_config = array( 'wrap' => 'tr', 'template' => "<td class='user-position'>%position%</td> <td class='user-avatar'>%user_avatar%</td> <td class='user-name'>%user_profile_link%</td> <td class='user-rank'>%user_rank_logo%</td> <td class='user-points'>%cred_f%</td>" ); $shortcode_config = array_merge( $shortcode_config, $local_config ); ?> <div class="<?php echo $component_classes; ?>"> <div class="table-responsive"> <table class="table table-condensed mycred-table gfy-table"> <thead> <tr> <th class='user-position'>#</th> <th class='user-avatar'><?php _e( 'Avatar', 'gamify' ); ?></th> <th class='user-name'><?php _e( 'Username', 'gamify' ); ?></th> <th class='user-rank'><?php _e( 'Rank', 'gamify' ); ?></th> <th class='user-points'><?php _e( 'Points', 'gamify' ); ?></th> </tr> </thead> <tbody> <?php $output = gfy_do_shortcode( 'mycred_leaderboard', $shortcode_config ); echo GFY_BP_Leaderboard_Component_Template::get_instance()->get_total() ? $output : sprintf( '<tr><td colspan="5">%s</td></tr>', $output ); ?> </tbody> </table> </div> </div>
Hi Topy,
Thank you.In your code, Please change this
get_avatar( $user_id, 90 );
to
bp_core_fetch_avatar( array( 'item_id' => $user_id, 'type' => 'thumb' ) );
It will use the site default then.
Hope this helps.
Regards
Brajesh
You must be logged in to reply to this topic.