Code Snippets

Adding a new Activity Stream entry when a user changes his avatar

Here’s a quick tip straight from the BP-Trac created by R-A-Y. Put the snippet below in your child theme’s functions.php or in your bp-custom.php:

/* Add a new activity stream item for when people change their Profile Picute */
function xprofile_new_avatar_activity() {
 global $bp;

 if ( !function_exists( 'bp_activity_add' ) )
 return false;

 $user_id = apply_filters( 'xprofile_new_avatar_user_id', $bp->displayed_user->id );

 $userlink = bp_core_get_userlink( $user_id );

 bp_activity_add( array(
 'user_id' => $user_id,
 'action' => apply_filters( 'xprofile_new_avatar_action', sprintf( __( '%s uploaded a new profile picture', 'buddypress' ), $userlink ), $user_id ),
 'component' => 'profile',
 'type' => 'new_avatar'
 ) );
}
add_action( 'xprofile_avatar_uploaded', 'xprofile_new_avatar_activity' );

Now when a user changes his avatar a new entry gets added to the stream notifying everyone of the new profile picture. Awesome!

Schermafbeelding 2011 03 16 om 7.24.04 PM Adding a new Activity Stream entry when a user changes his avatar

This functionality will probably be added to BP 1.3 so keep an eye out when you update to 1.3 in the future. It might cause a conflict!

Source: R-A-Y his patch on BP-Trac

About Bowe Frankema

 Adding a new Activity Stream entry when a user changes his avatar Building communities on BuddyPress is something I’m very passionate about. The decision to focus exclusively on BuddyPress projects over the last few years inspired me to share back some of the things I've learned here on BP-Tricks! You can find me on WordCamps & BuddyCamps across the globe and on Twitter! Follow me on Twitter

I'm constantly updating my BuddyPress Hosting Guide and SiteGround and WPEngine
have proven to be a great fit for hosting your BuddyPress community.

Need some help finding the perfect host? Check out my in-depth BuddyPress Hosting guide!

Discussion

5 responses to ‘Adding a new Activity Stream entry when a user changes his avatar

  1. Hi! amazing trick! Will this add the custom filter for selection? or how can I create that, let’s suppose I ‘m recording a custom activity (type => ‘custom_name’ ) can I add a filter somehow for the users to do that or show only that kind of updates in a custom activity loop somewhere? Thanks for all!!!

  2. Oh, I’ve achieved it :D thanks anyway!


    /**
    * bpfb_activity_links_filter()
    *
    * Adds 'Enlaces' and 'Wall Photos' to activity stream filters.
    *
    */
    function bpfb_activity_links_filter() {
    echo 'Enlaces';
    echo 'Fotos del muro';
    }
    add_action( 'bp_activity_filter_options', 'bpfb_activity_links_filter' );
    add_action( 'bp_member_activity_filter_options', 'bpfb_activity_links_filter' );
    add_action( 'bp_group_activity_filter_options', 'bpfb_activity_links_filter' );

    PS: It’s still a bit hardcoded but anyone can tweak it if needed

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>