We've recently taken my daughter's WordPress - BuddyPress site to the next level and enabled the Multisite setup. Before we made the switch I read that several people had issues when they upgraded existing BuddyPress sites to a WordPress Multisite. I must admit we did run into a few snags, but most were resolved with a little patience and some help from Google. There was one issue that had me stumped for a day or two and that was the Multisite blog avatar issue. I found a few "fixes" but non seemed to work for me, so I decided to dig and and apply one of my quick and dirty fixes. Keep in mind that I'm not a WordPress plugin pro and if you apply this fix you'll have to apply it again if you upgrade your BuddyPress. I'm used to this as I have other little hacks for injecting ads into the activity stream and such. Here we go... if your BuddyPress user blogs are showing no avatar and look something like the image below (Firefox may actually show the image alternate text) then read on and apply the fix I've outlined below.
When we first discovered this issue the first thing I did was view the source. I quickly discovered that BuddyPress was adding the full hosting path to the back end of my installation URL.
http://www.diaryforteens.com/mydiary//home/content/m/h/a/myhostaccount/html/mydiary/wp-content/uploads/avatars/639/568245a53c9bb9880c2bc4d8fddf78fc-bpthumb.jpg what should have been happening was that the /wp-content/uploads directory should have been tacked on, but for some reason it was taking the full hosting path.
Using your FTP program navigate to the /wp-content/plugins/buddypress/bp-core/ and download the bp-core-avatars.php file. Open it with your favorite text editor and scroll down to around line 721, or simply search for the code below.
// If multisite, and current blog does not match root blog, make adjustments
if ( is_multisite() && bp_get_root_blog_id() != get_current_blog_id() )
$baseurl = trailingslashit( get_blog_option( bp_get_root_blog_id(), 'home' ) ) . get_blog_option( bp_get_root_blog_id(), 'upload_path' );
Right after this line we're simply going to manually define the $baseurl variable with the correct path. I know this is not a "dynamic content approved" fix, but this is just how I roll with these things. Okay, my variable definition looks like this because my installation is actually in a directory.
You're simply adding /wp-content/uploads to the end of your installation URL and make sure that you add this line right after the other $baseurl variable definition and before the bracket. Upload this file to the same directory you got it from and see if your issue is fixed. I always recommend that you keep a copy of the original file just in case you need a way back, so rename the original file before you upload your modified file. If the fix worked your user blog avatars should look correct, just like the image below.
I hope this helps others who may be having the same issue with their BuddyPress and Multisite blog installation. In searching for the missing avatar fix I saw that several people have had it and some offered solutions, but none seemed to work for my setup. Leave comments below if you have questions or just to let me know if this fixed helped you with your site. Go ahead and leave your Multisite URL also if you want. Spammers of course won't get posted, unless of course they're pushing a WordPress, Buddypress, Multisite with user blogs and avatars.