Skip to:
Content
Pages
Categories
Search
Top
Bottom

Re: Social 0.1.8 by Utkarsh Kukreti


Luke Gedeon
Member

@lgedeon

I found a solution for my version of the problem and learned a few things along the way that might help with your BuddyPress avatar problems.

Full text at: http://luke.gedeon.name/buddypress-wrong-avatar-fix.html

What I found:

In the file /wp-content/plugins/buddypress/bp-core/bp-core-avatars.php, lines 344 and following contain the following code:

global $authordata;

if ( is_object( $user ) )

$id = $user->user_id;

else if ( is_numeric( $user ) )

$id = $user;

else

$id = $authordata->ID;

if ( empty( $id ) )

return $avatar;

I think that last “if statement” may be there to catch cases where the commenter does not have a BuddyPress account (which is the majority on my site at this point). However, if you look closely at the block just above the “if ( empty( $id))” you will notice $id is never going to be empty at this point.

That suggests two possible solutions.

Solution 1:

I have not tested this, but it makes sense that you could move the last “if statement” above the first “if statement.” That way you can check for “empty( $id )” before it gets set to”$authordata->ID”

Solution 2:

I found it works quite well to add these lines just under the last “if statement.”

if ( is_string( $user ) )

return $avatar;

This will catch any case where an email is sent as input, which is what all (most) non-buddypress themes send. Cases where numbers or objects are sent (the BuddyPress method) will be handled normally.

Maybe I can get this added into the next release of BuddyPress.

Skip to toolbar