Skip to:
Content
Pages
Categories
Search
Top
Bottom

Search Results for 'bp_core_fetch_avatar'

Viewing 25 results - 26 through 50 (of 304 total)
  • Author
    Search Results
  • #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' );
    jasbirs
    Participant

    <?php echo bp_core_fetch_avatar ( array( ‘item_id’ => $logged_user_id, ‘type’ => ‘full’, ‘html’ => TRUE )); ?>
    But this is working with single wordpress site

    #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.

    tergra
    Participant

    Hi,

    I’ve tried to change the avatar in several ways, but everytime Buddypress comes on the way and overrides settings. My last try was to set up a random avatar for every user, looks slack but… It doesn’t work with Buddypress. Since you guys are BP specialists I thought you would be able to know how to fix this issue.
    Custom code I tried is this :
    https://ownyourbits.com/2017/01/31/custom-random-avatars-in-wordpress/#comment-2187

    Many thanks, you rock !

    #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

    #265534
    cl0ne
    Participant

    Hello everyone.

    I’ve been pulling my hair out trying to resolve this and I know it’s probably the most simply thing but that’s what I get for not having sufficient knowledge.

    So my membership plugin creates a user and adds a profile picture to WordPress’ user directory. But I need this profile picture to sync with Buddypress. I’ve learned quite a bit in pursuit in finding a solution and I feel like I’m so close and that’s why I need the help on the last mile.

    I was able to disable Buddypress’ attempts at finding a Gravatar for any given user using add_filter('bp_core_fetch_avatar_no_grav', '__return_true');. Worked great! Now, I’m staring at the “Mystery Man” and I know I need to use bp_core_fetch_avatar to change it to the local avatar uploaded to WordPress. That’s where I’m stuck. I need a snippet of code where I can plugin in the directory for it find the user and attach the profile picture!

    Any guidance would be appreciated it!

    #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?

    #263097
    bcanr2d2
    Participant

    I am trying to use the following code to turn user avatars to greyscale.

    It has never worked, but I am not sure why. I can do it temporarily via CSS, just to show how it will look (that’s not an issue) but would prefer the actual avatars to be greyscale
    Please help

    //Convert to greyscale
    add_filter('xprofile_avatar_uploaded','rb_bw_filter', 10, 2);
    
    function rb_bw_filter($meta) {
    
    //    $path = wp_upload_dir(); // get upload directory
    //    $file = $path['basedir'].'/'.$meta['file']; // Get full size image
    $file =  bp_core_fetch_avatar(array('item_id' => $other_user, 'type' => 'full','html'=>false));
       $files[] = explode(',' ,$file); // Set up an array of image size urls
    //    foreach ($meta['sizes'] as $size) {
    //       $files[] = $path['path'].'/'.$size['file'];
    //    }
    
        foreach ($files as $file) { // iterate through each image size
    
            // Convert image to grayscale credit to http://ottopress.com/2011/customizing-wordpress-images/
    
            list($orig_w, $orig_h, $orig_type) = @getimagesize($file);
            $image = wp_load_image($file);
            imagefilter($image, IMG_FILTER_GRAYSCALE);
            switch ($orig_type) {
                case IMAGETYPE_GIF:
                    imagegif( $image, $file );
                    break;
                case IMAGETYPE_PNG:
                    imagepng( $image, $file );
                    break;
                case IMAGETYPE_JPEG:
                    imagejpeg( $image, $file );
                    break;
            }
        }
        return $meta;
    }
    #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.

    #260847
    metalhead
    Participant

    Hello Buddypress buds!

    A lot of people have been talking over the past couple of years about “how to require a profile photo upon registration. And I know it’s a risky thing to do, but many of us are willing to take that risk.

    There are a handful of plugins that try to assist with this procedure, but some fail, and some are only partially successful. The best solution that I’ve found is Xprofile Custom Fields. With this plugin, and a lot of help from the author, I’ve managed to get profile photos to be required in the registration process. However, the issue I’m having is that the users are unable to effectively change their profile photo by using the options in the Buddypress “Profile” section/menu. The user can still click “Change Profile Photo,” and it will accept their upload, but the old photo remains in the member directory & in the user’s profile itself.

    I think there must be a miscommunication occurring due to this new way of gathering the user’s original profile photo. It seems like some code, pertaining to the Buddypress “Change Profile Photo” function needs to be tweaked, but I can not pinpoint the function, which would be the first step towards fixing this issue.

    To demonstrate how I’m requiring the profile photo upload in the registration, here is the function I’ve added to my theme’s functions.php file:

    add_filter( 'bp_core_fetch_avatar', 'my_custom_avatar', 10, 2 );
    function my_custom_avatar( $avatar, $params ) {
        if ( 'user' === $params['object'] ) {
            // Get the src of the original avatar.
            $array = array();
            preg_match( '/src="([^\"]*)"/i', $avatar, $array );
            if ( count( $array ) > 1 ) {
                $old_url_avatar = $array[1];
                // Get the new url of image.
                $uploads = wp_upload_dir();
                $img = maybe_unserialize( BP_XProfile_ProfileData::get_value_byid( 5218, $params['item_id'] ) );
                if ( ! empty( $img ) ) {
                    $new_url_avatar = $uploads['baseurl'] . $img;
    
                    // Replace the old src with the new url.
                    $avatar = str_replace( $old_url_avatar, $new_url_avatar, $avatar );
                }
            }
        }
    
        // Return the avatar.
        return $avatar;
    }

    I’d like to mention that I have asked the plugin author about this, but my message on that plugin’s support forum has been deleted twice, making me think I should give the man a break.

    Here are some specifications of my site:

    The site can be reached here.

    It’s running on WordPress v4.6.1, Buddypress v2.7.0, & using BuddyPress Xprofile Custom Fields Type v2.6

    “5218” is the field ID for the “Upload Image” field.

    Thanks and sorry if I posted in an inappropriate forum, I think I chose the right one.

    #255157
    Andrew
    Participant

    I’ve been trying to work out how to get the user IDs for the notification items so I can display notification user avatars.

    Is this the best way to do it, I’ve tested this with a few users and seems to work:

    function test_notifications_avatar() {
    	
    	$bp      = buddypress();
    	$user_id = $bp->notifications->query_loop->notification->secondary_item_id;
    	
    	if ( empty( $user_id ) )
    		$user_id = $bp->notifications->query_loop->notification->item_id;
    
    	echo bp_core_fetch_avatar( array( 'item_id' => $user_id, 'type'  => 'thumb' ) );
    }
    #254737

    In reply to: global avatar

    danbp
    Moderator

    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
    Moderator
    #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)); ?>

    #253386
    Henky
    Participant

    Hy, I have a Problem.
    In the Widget i have this code, becouse see Only the Avatar from gravatar.com and not from Buddypress or WordPress

    <?php echo get_avatar( $comment, '45' ); ?>
    Display in Html
    <img alt="" src="https://secure.gravatar.com/avatar/ca07c51aecfa704741559ccc813d7b0d?s=45&d=mm&r=g" srcset="https://secure.gravatar.com/avatar/ca07c51aecfa704741559ccc813d7b0d?s=90&d=mm&r=g 2x" class="avatar avatar-45 gravatar" height="45" width="45">

    Than i have change the code to:
    <?php echo bp_core_fetch_avatar( array( 'item_id' => $comment->user_id,'type' => 'full','width' => 75,'height' => 75)); ?>
    becouse is not working.

    What is the correct code for Display Avatar from a Comment.

    Thanks a lot

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