Skip to:
Content
Pages
Categories
Search
Top
Bottom

Search Results for 'bp_core_fetch_avatar'

Viewing 25 results - 26 through 50 (of 246 total)
  • Author
    Search Results
  • #279042
    keshabee
    Participant

    Hi @prashantvatsh
    Thanks for pointing me to the right direction, I noticed the break in the image was caused by this code I made use of;

    Please can you assist me in a way to debug and fix this code a little
    Reasons being:
    The code helps to disable the gravatar use in buddy-press avatar and cover-image while also removing that gravatar text wordings when editing the avatar and cover image

    
    /*Disable gravatar*/
    add_filter('bp_core_fetch_avatar_no_grav', '__return_true');
    
    /*Disable gravatar extra function*/
    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() .'/_inc/images/bp_default_avatar.jpg';
    
        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() .'/_inc/images/bp_default_avatar.jpg';
        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() .'/_inc/images/bp_default_avatar.jpg';
    
        if( $image && strpos( $image, "gravatar.com" ) ){ 
    
            return '<img src="' . $default . '" alt="avatar" class="avatar" width="150" height="150" />';
        } else {
            return $image;
        }
    
    }
    add_filter('bp_get_signup_avatar', 'bp_remove_signup_gravatar', 1, 1 );

    Thanks in advance

    #276394
    Prashant Singh
    Participant

    Hi,
    There is a filter code already written to modify this:

    return apply_filters( 'bp_get_activity_avatar', bp_core_fetch_avatar( array(
    			'item_id' => $item_id,
    			'object'  => $object,
    			'type'    => $type,
    			'alt'     => $alt,
    			'class'   => $class,
    			'width'   => $width,
    			'height'  => $height,
    			'email'   => $email
    		) ) );

    You can use this filter to write your own code to modify the class parameter.

    Thanks

    T_ed
    Participant

    I have both Buddypress and bbpress installed. bbpres is using local wordpress avatars that registered users uploaded even before bbpress was installed. I want Buddypress to do the same – use these local avatars instead of its own. I have found this code on bbpress codex and internets:

    add_filter('bp_core_fetch_avatar_no_grav', '__return_true');

    I added this code to bp-custom.php, but it`s seems like this code is not working anymore? I really need to make Buddypress to use local avatars just like bbpress do, please help.

    #276071
    justingut
    Participant

    I apologize if this is something fairly easy but I’m a bit of a beginner when it comes to this stuff. I’m looking to display my Group Mod’s member types above their names on the group page I have created but all I can get is the id to show up which of course is not user friendly when it comes to reading it. I have pasted the code I have below if anyone could please help me with this. Thank You!

    function bp_group_list_mods( $group = false ) {
    	global $groups_template;
    
    	if ( empty( $group ) ) {
    		$group =& $groups_template->group;
    	}
    
    	if ( ! empty( $group->mods ) ) : ?>
    
    		<ul id="group-mods">
    
    			<?php foreach( (array) $group->mods as $mod ) { ?>
    
    				<li id="groupmods-list"><div class="item-avatar">
    					<a href="<?php echo bp_core_get_user_domain( $mod->user_id, $mod->user_nicename, $mod->user_login ) ?>" class="bp-tooltip" data-bp-tooltip="<?php printf( ('%s'),  bp_core_get_user_displayname( $mod->user_id ) ); ?>"><?php echo bp_core_fetch_avatar( array( 'item_id' => $mod->user_id, 'email' => $mod->user_email, 'alt' => sprintf( __( 'Profile picture of %s', 'buddypress' ) ) ) ) ?></a></div>
    				<div class="item">
    				<div class="groupmod-type"><p><?php printf( ('%s'),  bp_get_member_type( $mod->user_id) );  ?></p></div>
    				<div class="groupmod-name"><p><?php printf( ('%s'),  bp_core_get_user_displayname( $mod->user_id ) );  ?><p></div>
    
    			</div>
    				</li>
    
    			<?php } ?>
    
    		</ul>
    #274623

    In reply to: Default Profile Photo

    Venutius
    Moderator

    Just tested it, create a bp-custom.php in your plugins directory and add the following:

    define ( 'BP_AVATAR_DEFAULT', 'http://example.com/default-avatar.jpg' );
    define ( 'BP_AVATAR_DEFAULT_THUMB', 'http://example.com/default-avatar-thumb.jpg' );
    
    add_filter( 'bp_core_fetch_avatar_no_grav', '__return_true' );
    #271679
    Jonas
    Participant

    Digging into it a bit more, it seems gravatars influences it. You can disable the gravatars like so

    add_filter( 'bp_core_fetch_avatar_no_grav', '__return_true' );

    followed by using your original code

    define ( 'BP_AVATAR_DEFAULT', 'http://example.com/default-avatar.jpg' );
    define ( 'BP_AVATAR_DEFAULT_THUMB', 'http://example.com/default-avatar-thumb.jpg' );
    #270956
    David Cavins
    Keymaster

    Hi I’m not exactly sure what you mean, but if you’re looking to get the profile image associated with a group or user, you can use the avatar-fetching function that BP uses in its templates, bp_core_fetch_avatar():
    https://buddypress.trac.wordpress.org/browser/tags/2.9.3/src/bp-core/bp-core-avatars.php#L99

    As an example, you might use

    bp_core_fetch_avatar( array(
    			'item_id' => $user_id,
    			'type'    => 'thumb',
    			'width'   => false,
    			'height'  => false,
    			'html'    => true,
    			'alt'     => sprintf( __( 'Profile picture of %s', 'buddypress' ), 'user name' )
    ) );
    
    #268808

    In reply to: Goodbye Buddypress?

    David Cavins
    Keymaster

    Hi @VentureCore-

    It seems like you can make avatars work remotely. Check bp_core_fetch_avatar() for some filter opportunities. https://buddypress.trac.wordpress.org/browser/tags/2.9.2/src/bp-core/bp-core-avatars.php#L98

    I’ve not done what you’re trying to do, but it seems that the filter points bp_core_avatar_folder_url, bp_core_avatar_folder_dir could be useful, but there’s a filter on the final result at bp_core_fetch_avatar for the “html” output version and bp_core_fetch_avatar_url for just the url.

    Cover images should actually be easier to manage. Take a look in https://buddypress.trac.wordpress.org/browser/tags/2.9.2/src/bp-core/bp-core-attachments.php#L28

    Alternatively, you could filter the other plugin to ignore avatar and cover image requests. Lots of ways to solve this, I’d bet.

    #266477
    n0madpl
    Participant

    Hey,

    The fix for that is coming in the next release of buddy press. Or at least for the part of the problem.

    You most likely get 50% of your problem from these two in my case with 6k users these amounted to the respective query execution times (from new relic), I also run buddypress + rtmedia (which is the source of this problem) as described in this ticket:

    bp_friends_prime_mentions_results() – Used by the Activity component’s @mentions to print a JSON list of the current user’s friends.

    bp_friends_prime_mentions_results – 10,000+ ms
    bp_core_fetch_avatar – 6,000+ ms

    Here’s a fix:
    https://buddypress.trac.wordpress.org/changeset/11561

    You’ll still likely stay with this massive query even for logged out users:
    WP_User_Query::query on average right now it’s at around 7,500ms.

    Good news is that with HHVM site runs much faster due to object caching straight after enabling it.

    I’ve also played around with various hosts, flywheel & wpengine sucked. What works well is Kinsta with HHVM enabled, they can also check your database and help you move to InnoDB if you’re using another one.

    Anyway man hope this helps.

    Best,

    M.

    #266431
    coolhunt
    Participant

    This worked!

    adding
    add_filter('bp_core_fetch_avatar_no_grav', '__return_true');

    this is what my bp-custom looks like now to make it work:

    define('BP_DEFAULT_COMPONENT', 'profile' );
    
    define ( 'BP_AVATAR_THUMB_WIDTH', 125 );
    define ( 'BP_AVATAR_THUMB_HEIGHT', 125 );
    define ( 'BP_AVATAR_FULL_WIDTH', 150 );
    define ( 'BP_AVATAR_FULL_HEIGHT', 150 );
    
    add_filter('bp_core_fetch_avatar_no_grav', '__return_true');
    
    define ( 'BP_AVATAR_DEFAULT', 'https://veloXXXXXXXhive.com/wp-content/uploads/2017/06/VeloHive-Default-User-Avatar-150px-x-150px-17Teeth-EVO.png' );
    define ( 'BP_AVATAR_DEFAULT_THUMB', 'https://veloXXXXXXhive.com/wp-content/uploads/2017/06/VeloHive-Default-User-Avatar-125px-x-125px-17Teeth-EVO-THUMBNAIL.png' );

    Someone should probably update that codex doc

    #263898
    Sergio Peña
    Participant

    Here’s the code for anyone who wants to do the same:

    
    add_shortcode('course_mentor','group_course_mentor');
    
    function group_course_mentor($atts, $content = null){
      if(!is_user_logged_in())
        return;
      if(!bp_is_active('groups'))
        return;
      global $wpdb,$bp;
        $batches = groups_get_user_groups(get_current_user_id());
    $return = '';
      if(!empty($batches['groups'] )){
        foreach($batches['groups'] as $batch){
          $admins = groups_get_group_admins( $batch );
          foreach($admins as $admin){
            $return .=  '<a href="'.bp_core_get_user_domain($admin->user_id).'" title="'. bp_core_get_user_displayname( $admin->user_id, true ) .'">'.bp_core_fetch_avatar ( array( 'item_id' => $admin->user_id, 'type' => 'thumb' ) ) .'</a>';
          }
        }
      }
      return  $return ;
    }
    

    Credit goes to Alex @ WPLMS for this 🙂

    #263779
    Sergio Peña
    Participant

    Thank you for your response.

    I did ask Learndash and they referred me to third party programmers.

    Since I am using buddypress groups, I thought it was appropriate to ask here as well. Apologies if I was mistaken!

    So would it be something like this:

    add_shortcode('course_mentor','nex_course_mentor');
    function nex_course_mentor($atts, $content = null){
      if(!is_user_logged_in())
        return;
      if(!bp_is_active('groups'))
        return;
    
      $nex_group_id  = bp_get_group_id(get_current_user_id());
    
      if(!empty($nex_group_id)){
        foreach($nex_group_id as $nex_group_id){
          $nex_admins = groups_get_group_admins( $nex_group_id );
          foreach($admins as $admin){
            ?>
            <a href="<?php echo bp_core_get_user_domain($admin->user_id) ?>"
            title="<?php echo bp_core_get_user_displayname( $admin->user_id, true ) ?>">
            <?php echo  bp_core_fetch_avatar ( array( 'item_id' => $admin->user_id, 'type' => 'thumb' ) ) ?></a>';
      <?php
          }
        }
      }
    }

    I’m just copy/pasting and trying to connect a bunch of different answers together. As you can tell, I’m no coder.

    Since each group may have more than one group leader/mentor I had a loop in there. Hopefully that will get the ball rolling on what I’m trying to do.

    Am I on the right track?

    #262809
    brightwash
    Participant

    define ( ‘BP_AVATAR_DEFAULT_THUMB’, $img_url );

    This was not working for me either, in the end this combination did. Turning off gravatar (first filter), and then a default bp image filter.

    
    add_filter( 'bp_core_fetch_avatar_no_grav', '__return_true' );
    add_filter( 'bp_core_default_avatar_user', 'override_default_avatar', 10, 2 );
    function override_default_avatar( $default, $params ) {
    	if ( !empty($params) ) {
    		if ( 'thumb' == $params['type'] ) {
    			return  get_stylesheet_directory_uri() . '/img/avatar-thumb.jpg'; 
    		} 
    	}
    	return  get_stylesheet_directory_uri() . '/img/avatar.jpg'; 
    }
    #261814

    In reply to: Duplicate Queires

    daniel27lt
    Participant

    So this doesn’t matter then when update_meta_cache is called twice?

    It seems to be calling 2 queries and one of them bp_core_fetch_avatar_filter

    It’s just because I’m sure (not 100%) that I’ve never seen this show up until now.

    #254737

    In reply to: global avatar

    danbp
    Participant

    Several topics are related to your question on the forum.

    https://buddypress.org/support/search/bp_core_fetch_avatar/

    #254536
    r-a-y
    Keymaster

    So what you’re looking for is to use a custom user avatar instead of BuddyPress’?

    Try the following code snippet in your theme’s functions.php or wp-content/plugins/bp-custom.php:

    remove_filter( 'get_avatar', 'bp_core_fetch_avatar_filter', 10, 6 );

    Update – That code snippet only reverts the avatar in WordPress posts and comments.

    To override BuddyPress avatars in BuddyPress content with a custom avatar solution, you would have to hook into the 'bp_core_fetch_avatar' filter:
    https://buddypress.trac.wordpress.org/browser/tags/2.5.3/src/bp-core/bp-core-avatars.php?marks=534-549#L534

    #254313
    Henry Wright
    Moderator

    You could be using the thumb sized avatar. Check your theme to make sure the full sized image is being used. bp_core_fetch_avatar() is the function used by BuddyPress to display avatars but there’s also get_avatar() so check for that too (it’s a WordPress function).

    #254089
    danbp
    Participant
    #253393
    Henky
    Participant

    <?php echo get_avatar( $comment, ’45’ ); ?>
    <?php echo bp_core_fetch_avatar( array( ‘item_id’ => $comment->user_id,’type’ => ‘full’,’width’ => 75,’height’ => 75)); ?>

    #252860
    Henry Wright
    Moderator

    Hi @etavio

    Your custom plugin is most likely filtering get_avatar to display your custom images. BuddyPress actually bypasses that filter through the use of bp_core_fetch_avatar().

    Ref: https://github.com/buddypress/BuddyPress/blob/master/src/bp-core/bp-core-avatars.php#L192

    You will need to use a different filter.

    #251396
    danbp
    Participant

    Hi,

    default avatar is ‘gravatar’ ‘s mytery man. To use your own avatar, you have to deactivate gravatar in addition to constant. Try this in bp-custom.php

    add_filter('bp_core_fetch_avatar_no_grav', '__return_true');
    define ( 'BP_AVATAR_DEFAULT_THUMB', 'YOURIMAGEURL' );
    #250977
    tkuron
    Participant

    I managed to fix the issue.

    Apparently BuddyPress does not change the avatar url when get_avatar_data() -function is called. I managed to fix the issue by adding following piece of script to my plugin’s source code:

    <?php
    add_filter("get_avatar_data", function($args, $id_or_email){
    	$bp_avatar_url = bp_core_fetch_avatar([
    			"html" => false,
    			"item_id" => $id,
    			"type" => "full",
    			"width" => $args["size"],
    			"height" => $args["size"]
    	]);
    	
    	$bp_avatar_url = htmlspecialchars_decode($bp_avatar_url);
    	$args["url"] = $bp_avatar_url;
    			
    	return $args;
    }, 10, 2);
    ?>
    #250975
    Henry Wright
    Moderator

    If it’s a BuddyPress page then I guess the bp_core_fetch_avatar() function should display the local avatar if no Grav exists. Are you saying this doesn’t happen?

    #250971
    Henry Wright
    Moderator

    You could disable Gravatar?

    add_filter( 'bp_core_fetch_avatar_no_grav', '__return_true' );

    #249815
    Florent
    Participant

    Topic close as result is already formated :
    http://hookr.io/functions/bp_core_fetch_avatar/

    Usage

    $string = bp_core_fetch_avatar( $args );

    Parameters

    $args
    ( array|string ) optional – { An array of arguments. All arguments are technically optional; some will, if not provided, be auto-detected by bp_core_fetch_avatar(). This auto-detection is described more below, when discussing specific arguments.

    Returns

    string Formatted HTML element, or raw avatar URL based on $html arg.

Viewing 25 results - 26 through 50 (of 246 total)
Skip to toolbar